java-json操作
程序员文章站
2022-05-31 16:26:38
...
好记性不如烂笔头,多总结,多思考,才能避免看了一遍又一遍,忘了一次又一次。
仅以自勉
今天在实现项目中需求的过程中,总结了点工具,做个备忘:
目标:取json指定属性下的值。
思路:解析xml的时候有xpath,做爬虫的时候有css选择器,那么json也应该有类似xpath之类的处理方式。
过程:百度(还用不到谷歌就找到答案了)
结果:阿里的fastJson,从1.2开始支持jsonPath
完美解决。
类似json的行转列,也可以通过这种方式处理。
如:
{data:
[
{"type":"1","name":"张三"},
{"type":"2","name":"李四"}
]
}
通过表达式:$.data[?($.type=2)].name,就可以提取到name的值张三,结合输入的type值,做到行转列的效果。
需要注意的是fastjson在序列化和反序列化的时候,默认是开启ASM的。
使用下面的代码就能关闭ASM:
SerializeConfig.getGlobalInstance().setAsmEnable(false); // 序列化的时候关闭ASM
ParserConfig.getGlobalInstance().setAsmEnable(false); // 反序列化的时候关闭ASM