At work, JSON strings are often converted and mapped into Java objects. The following are examples of fastjson and jsonLib converting JSON strings into Java objects, which are specially recorded here.
Engineering structure:
UserInfo.java
package com.bijian.test; public class UserInfo { private String name; private int age; private String address; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } @Override public String toString() { return "UserInfo [name=" + name + ", age=" + age + ", address=" + address + "]"; } }
Main.java
package com.bijian.test; import com.alibaba.fastjson.JSON; import net.sf.json.JSONObject; public class Main { private static String jsonStr = "{\"name\":\"zhangshan\", \"age\": 10, \"address\": \"中国深圳\"}"; public static void main(String[] args) { //JSON-LIB JSONObject jsonResult = JSONObject.fromObject(jsonStr); UserInfo userInfo = (UserInfo)JSONObject.toBean(jsonResult, UserInfo.class); System.out.println("userInfo:" + userInfo); // fastjson com.alibaba.fastjson.JSONObject jsonObject = JSON.parseObject(jsonStr); UserInfo userInfo2 = com.alibaba.fastjson.JSONObject.toJavaObject(jsonObject, UserInfo.class); System.out.println("userInfo2:" + userInfo2); } }
operation result:
userInfo:UserInfo [name=zhangshan, age=10, address=Shenzhen, China] userInfo2:UserInfo [name=zhangshan, age=10, address=Shenzhen, China]
Of course, the usage pit of json-lib can be further understood in the article " JSONObject and JSON String ".