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 的区别 - 腾讯云开发者社区-腾讯云
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 的区别 - 腾讯云开发者社区-腾讯云