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 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.com”},{“name”:“lisi”,“email”:“lisi@163.com”}]”;

    JSONArray array = JSON.parseArray(jsonStr);

    for(int i=0;i<array.size();i++){
        System.out.println(array.get(i));
    }
  1. 将Java 对象转换为 json 字符串

User user = new User(11,“wangwu”,“wangwu@163.com”,“上海”);

String str = JSON.toJSONString(user);
9. 将json 字符串转换为 Java 实体集合

String jsonStr = “[{“name”:“zhangsan”,“email”:“zhangsan@qq.com”},{“name”:“lisi”,“email”:“lisi@163.com”}]”;

List list = JSON.parseArray(jsonStr,User.class);
10. 将 java 对象转换为 JsonObject

User user = new User(11,“wangwu”,“wangwu@163.com”,“上海”);

JSONObject jsonObject = (JSONObject) JSON.toJSON(user);在这里插入代码片

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值