java-json操作

阅读更多

好记性不如烂笔头,多总结,多思考,才能避免看了一遍又一遍,忘了一次又一次。

仅以自勉

 

今天在实现项目中需求的过程中,总结了点工具,做个备忘:

目标:取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

 

你可能感兴趣的:(java,json,fastjson,jsonpath)