最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

JSON, JSONObject, JsonObject

运维笔记admin48浏览0评论

JSON, JSONObject, JsonObject

JSON, JSONObject, JsonObject

JSON是一个抽象类

JSONObject是一个继承自JSON的类

JSON,JSONObject 和 JsonObject 

1. JAR 包不同,对于可以调用的内置方法函数也不同

JSONObject属于 org.json.JSONObject包,

JsonObject 属于 com.google.gson.JsonObject包

2. 存储方式不同

JSONObject用HashMap保存键值对,

JsonObject用 LInkedTreeMap 保存键值对。

对空值处理方式不同

如果要添加一个null值,两者在存储和获取上有区别。 JSONObject: 添加 value 为null,这个键值对会被删掉 JsonObject: 添加 value 为null, 可以正常添加 这会导致获取数据的时候也有区别。 JSONObject会获取不到这个键值对,但是 JsonObject则会获取到 null的数据。

toString结果不同

因为JSONObject是用HashMap来保存数据的,所以对它toString的时候可能出现顺序和保存顺序不一致的情况。 这一般没什么问题,但是如果要把内容作为数据校验的话可能不行,比如用md5计算,可能会出现每次的校验值都不同。

Json, String, List, Map, JavaBean之间转换

1.将 List 对象转换为 Json 格式的String

 List<User> users= findAllUser();String str = JSONObject.toJSONString(users);

2.将 Map 对象转换为 JsonObject

 Map<String,Object> map = new HashMap();map.put("name","zhangsan");map.put("age","15");
JSONObject jsonObject = new JSONObject(map);

3.将Map 转换为 Json 格式的String 字符串

  String jsonStr = JSON.toJSONString(map);

4.将 json 格式的String 字符串转换为 Map 

 String jsonStr = "{\"name\":\"zhangsan\",\"age\":\"15\"}";JSONObject  jsonObject = JSONObject.parseObject(jsonStr);Map<String,Object> map = jsonObject;

5. 将 json 格式的字符串转换为 JsonObject

String jsonStr = "{\"name\":\"zhangsan\",\"age\":\"15\"}";JSONObject jsonObject = JSON.parseObject(jsonStr);

6. 将 json字符串转换为 Java对象

 String jsonStr = "{\"name\":\"zhangsan\",\"email\":\"15\"}";User user = JSON.parseObject(jsonStr,User.class);

7. 将 json 字符串转换为 JSONArray 数组

 String jsonStr = "[{\"name\":\"zhangsan\",\"email\":\"zhangsan@qq\"},{\"name\":\"lisi\",\"email\":\"lisi@163\"}]";JSONArray array = JSON.parseArray(jsonStr);for(int i=0;i<array.size();i++){System.out.println(array.get(i));}

8. 将Java 对象转换为 json 字符串

 User user = new User(11,"wangwu","wangwu@163","上海");String str = JSON.toJSONString(user);

9. 将json 字符串转换为 Java 实体集合

 String jsonStr = "[{\"name\":\"zhangsan\",\"email\":\"zhangsan@qq\"},{\"name\":\"lisi\",\"email\":\"lisi@163\"}]";List<User> list = JSON.parseArray(jsonStr,User.class);

10. 将 java 对象转换为 JsonObject

  User user = new User(11,"wangwu","wangwu@163","上海");JSONObject jsonObject = (JSONObject) JSON.toJSON(user);

JSON.parseObject与JSONObject.parseObject的区别&JSONObject和JSONArray的区别_艾艾猫dori的博客-CSDN博客_jsonobject.parseobject

java中解析json时parse()和parseObject()和parseArray()的区别 - 百度文库

JSONObject、 JsonObject、阿里fastJson、谷歌gson区别 - byebai95 - 博客园

JSONObject 和 JsonObject 的区别 - 腾讯云开发者社区-腾讯云

发布评论

评论列表(0)

  1. 暂无评论