Json In Java

JSON简介

JSON格式: []代表数组。 {}代表对象,里面是键值对。也可以直接写value。


使用ORG.JSON包来解析JSON:


ORG.JSON
ORG.JSON通过MAP构造
ORG.JSON通过OBJ构造

【net.sf.json和org.json区别】
https://my.oschina.net/wangwu91/blog/340721?fromerr=Jas5ObXx
项目中主要使用net.sf.json,似乎支持springmvc,且org.json无法从一个string解析成一个obj。


Gson:
通过Gson.builder来定制化Gson进行属性名字映射、格式化打印、日期格式转换,然后用gson.toJson(obj)来转换Obj-> json,gson.FromJson(string,obj.class)
默认转义html中的一些格式。


Jackson提供三种可选的Json处理方法:流式API(Stream)、树模型(Tree Model)、数据绑定(Data Binding)

  1. DataBinding: 定义一个ObjectMapper来转化对象为JSON和反序列化JSON为对象,涉及到的一些配置属性在ObjectMapper中定义。
  2. 将Object定义成一个一个树节点,然后转化为JSON
  3. 使用JsonFactory创建一个JsonGenerator实例,然后利用这个实例逐个写入域。

总结:
Stream API方式是开销最低、效率最高,但编写代码复杂度也最高,在生成Json时,需要逐步编写符号和字段拼接json,在解析Json时,需要根据token指向也查找json值,生成和解析json都不是很方便,代码可读性也很低。
Databinding处理Json是最常用的json处理方式,生成json时,创建相关的java对象,并根据json内容结构把java对象组装起来,最后调用writeValue方法即可生成json,
解析时,就更简单了,直接把json映射到相关的java对象,然后就可以遍历java对象来获取值了。
TreeModel处理Json,是以树型结构来生成和解析json,生成json时,根据json内容结构,我们创建不同类型的节点对象,组装这些节点生成json。解析json时,它不需要绑定json到java bean,根据json结构,使用path或get方法轻松查找内容。


FastJson
https://segmentfault.com/a/1190000011212806

  • 速度快
  • 功能强大
  • 零依赖
  • JsonObject <-> str
    • str->JsonObject
    • JsonObject->str
  • Object <-> str
    • str -> Object
    • Object -> str
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容