导入依赖

<!--        导入fastjson处理json-->
 <dependency>
     <groupId>com.alibaba</groupId>
     <artifactId>fastjson</artifactId>
     <version>1.2.73</version>
 </dependency>

fastjson
我们在使用该以来的时候,主要使用JSONObject和JSONArray两大类。很多时候相互转换都让人很头疼,以下是总结了一些博客和个人经验的分享,实际上,fastjson是非常优秀的,要深入理解必须要看源码,而不能仅仅依赖博客(很多重复的,简单的罗列)

fastjson优点
2.1 速度快
fastjson相对其他JSON库的特点是快,从2011年fastjson发布1.1.x版本之后,其性能从未被其他Java实现的JSON库超越。

2.2 使用广泛
fastjson在阿里巴巴大规模使用,在数万台服务器上部署,fastjson在业界被广泛接受。在2012年被开源中国评选为最受欢迎的国产开源软件之一。

2.3 测试完备
fastjson有非常多的testcase,在1.2.11版本中,testcase超过3321个。每次发布都会进行回归测试,保证质量稳定。

2.4 使用简单
fastjson的API十分简洁。

String text = JSON.toJSONString(obj); //序列化
VO vo = JSON.parseObject("{…}", VO.class); //反序列化
2.5 功能完备
支持泛型,支持流处理超大文本,支持枚举,支持序列化和反序列化扩展。


我们项目中使用fastjson,主要分为以下功能

  • JsonObject转JavaBean
  • JavaBean转JsonObject
  • JsonArray转List<Object>
  • List<Object> 转JsonArray
  • JsonArray获取值(遍历)
  • JsonObject与JsonArray互相获取、嵌套
  • JsonString 转JsonObject
  • JsonString转JsonArray

JsonObject

在这里插入图片描述
JsonObject转JavaBean

Face_Info face_info = JSONObject.parseObject(jsonString,Face_Info.class);

JsonArray转JavaBean

List<Face_List> face_list = JSON.parseArray(jsonArray.toJSONString(),Face_List.class);

JsonString 转jsonObject

JSONObject jsonObject = JSON.parseObject(String text)

JsonArray

在这里插入图片描述
jsonarray遍历

for (int i = 0; i < jsonArray.sieze ; i++) {
            ...
        }

JsonObject与JsonArray互相获取、嵌套(类似)

JSONArray jsonArray = jsonObject.getJSONObject("result").getJSONArray("face_list");

JsonString 转JsonArray

JSONArray array = JSON.parseArray(String)

JSON

JSONObject和JSONArray都继承了JSON类在这里插入图片描述
JSON中的主要方法,这些方法子类都是直接继承,没有重写的

  • parse类方法(解析)
  • to类方法(转化)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
更多的用法还需要结合需求,自我探索哦~

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐