JSONObject与String、实体类互相转换

JSONObject与String、实体类互相转换

//实体类对象转换成String类型的JSON字符串
JSONObject.toJSONString(实体类对象)  == String


//String类型的JSON字符串转换成实体类对象
JSONObject.toJavaObject(JSON字符串,实体类对象)  ==  实体


//Json字符串转换成JSONObject对象
JSONObject.parseObject(JSON字符串) == JSONObject


//JSON字符串转换成实体类对象
JSONObject.parseObject(JSON字符串,实体类对象)  ==  实体


eg:

User u = new User();
String jsonStr = JSONObject.toJSONString(u);
 
String jsonStr = "{\"userName\":\"admin\"}";
Refund r = JSONObject.toJavaObject(jsonStr,User.class);
 
JSONObject jsonObject = JSONObject.parseObject(jsonStr);
 
User u = JSONObject.parseObject(jsonStr,User.class);

  • 14
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
JSONObject 转换实体类的过程可以分为以下几个步骤: 1. 通过 JSONObject 的 get 方法获取需要的数据项; 2. 将获取到的数据项转换实体类对应的类型; 3. 使用转换后的数据项设置实体类的属性值。 下面是一个示例代码: 假设有以下的 JSON 数据: ``` { "name": "Tom", "age": 18, "gender": "male", "address": { "province": "Guangdong", "city": "Shenzhen" } } ``` 对应的实体类如下: ``` public class Person { private String name; private int age; private String gender; private Address address; // 省略 getter 和 setter 方法 } public class Address { private String province; private String city; // 省略 getter 和 setter 方法 } ``` 那么,将 JSONObject 转换为 Person 实体类的代码如下: ``` public Person parse(JSONObject json) { Person person = new Person(); person.setName(json.getString("name")); person.setAge(json.getInt("age")); person.setGender(json.getString("gender")); JSONObject addressJson = json.getJSONObject("address"); Address address = new Address(); address.setProvince(addressJson.getString("province")); address.setCity(addressJson.getString("city")); person.setAddress(address); return person; } ``` 以上代码中,我们通过 JSONObject 的 getString、getInt 和 getJSONObject 方法获取了对应的数据项,并将其转换实体类对应的类型。最后,使用转换后的数据项设置了实体类的属性值,最终返回转换后的实体类对象。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值