JSON串转换映射成java对象

傷城~ 2022-04-06 12:20 425阅读 0赞

  在工作中,经常会将JSON串转换映射成java对象,如下是fastjson和jsonLib将JSON串转换成JAVA对象的实例,特在此记录。

工程结构:

f631ec6d-2fa4-3d1f-8d82-259a74485537.png

UserInfo.java

  1. package com.bijian.test;
  2. public class UserInfo {
  3. private String name;
  4. private int age;
  5. private String address;
  6. public String getName() {
  7. return name;
  8. }
  9. public void setName(String name) {
  10. this.name = name;
  11. }
  12. public int getAge() {
  13. return age;
  14. }
  15. public void setAge(int age) {
  16. this.age = age;
  17. }
  18. public String getAddress() {
  19. return address;
  20. }
  21. public void setAddress(String address) {
  22. this.address = address;
  23. }
  24. @Override
  25. public String toString() {
  26. return "UserInfo [name=" + name + ", age=" + age + ", address=" + address + "]";
  27. }
  28. }

Main.java

  1. package com.bijian.test;
  2. import com.alibaba.fastjson.JSON;
  3. import net.sf.json.JSONObject;
  4. public class Main {
  5. private static String jsonStr = "{\"name\":\"zhangshan\", \"age\": 10, \"address\": \"中国深圳\"}";
  6. public static void main(String[] args) {
  7. //JSON-LIB
  8. JSONObject jsonResult = JSONObject.fromObject(jsonStr);
  9. UserInfo userInfo = (UserInfo)JSONObject.toBean(jsonResult, UserInfo.class);
  10. System.out.println("userInfo:" + userInfo);
  11. //fastjson
  12. com.alibaba.fastjson.JSONObject jsonObject = JSON.parseObject(jsonStr);
  13. UserInfo userInfo2 = com.alibaba.fastjson.JSONObject.toJavaObject(jsonObject, UserInfo.class);
  14. System.out.println("userInfo2:" + userInfo2);
  15. }
  16. }

运行结果:

  1. userInfo:UserInfo [name=zhangshan, age=10, address=中国深圳]
  2. userInfo2:UserInfo [name=zhangshan, age=10, address=中国深圳]

  当然,json-lib的使用坑可以进一步查看《JSONObject以及json串》一文了解。

发表评论

表情:
评论列表 (有 0 条评论,425人围观)

还没有评论,来说两句吧...

相关阅读