【JAVA】各JSON工具对比及常用转换

JSON工具及常使用的转换

一、四大JSON工具

工具名称 使用 场景
Gson 需要先建好对象的类型及成员才能转换 数据量少,javabean->json
*FastJson 复杂的Bean转换Json会有问题 数据量少,字符串-》json
Jackson 转换的json不是标准json 数据量大,不能对对象集合解析,只能转成一个Map,字符串-》json,javabean->json
Json-lib 不能满足互联网需求

FastJson进行JSON字符串解析,Jackson将集合转成JSON格式字符串

二、常用转换

(1)FastJson

a.对象转JSON【toJSONString()】

String objJson = JSON.toJSONString(Object object);

b.Map转JSON【toJSONString()】

Map map = new HashMap();
map.put("key1", "One");
map.put("key2", "Two");
String mapJson = JSON.toJSONString(map);

c.List转JSON【toJSONString()】

List> list = new ArrayList>();
Map map1 = new HashMap();
map1.put("key1", "One");
map1.put("key2", "Two");
Map map2 = new HashMap();
map2.put("key1", "Three");
map2.put("key2", "Four");
list.add(map1);
list.add(map2);
String listJson = JSON.toJSONString(list);

b.自定义JAVAbean(实体类)转JSON【toJSONString()】

User user = new User();
user.setUserName("李四");
user.setAge(24);     
String userJson = JSON.toJSONString(user);

json的子类反序列化,转回实体

JSONObject,JSONArray是JSON的两个子类。
JSONObject相当于 `Map`,
JSONArray相当于 `List`。 
  

c.JSONArray转list【toArray()】

List lists = jsonArray.subList(0, jsonArray.size());
Integer[] ints = lists.toArray(new Integer[lists.size()]); 
  

d.JSONObject转JSONArray

// string转JSONObject 【JSONObject.parseObject()】
JSONObject jsonData = JSONObject.parseObject(jsonContent);
JSONArray jsonArray = new JSONArray();
jsonData.forEach((key,value) -> {
    jsonArray.add(value);
});

e.判断是否json

字符串: `JSONObject.parseObject(jsonContent);`
数组: `JSONObject.parseArray(jsonContent);`

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