Summary of Java Realization of Json String and Object Object Conversion
- 2021-07-01 07:37:08
- OfStack
This paper summarizes the way of Java converting Json strings to Object objects. Share it for your reference, as follows:
Json-Lib, Org. Json, Jackson, Gson, FastJson
Only the most convenient ways are listed. Replication status and speed are not involved.
Test case, 1 User class, attributes name, age, location. Override toString ().
public class User {
private String name;
private Integer age;
private String location;
public User() {
}
public User(String name) {
this.name = name;
}
public User(String name, Integer age) {
this.name = name;
this.age = age;
}
public User(String name, Integer age, String location) {
this.name = name;
this.age = age;
this.location = location;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getLocation() {
return location;
}
public void setLocation(String location) {
this.location = location;
}
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", age=" + age +
", location='" + location + '\'' +
'}';
}
}
1. Json-Lib
maven depends on the following, which should be noted < classifier > jdk15 < /classifier > The jar package distinguishes jdk 1.3 from jdk 1.5 versions
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.4</version>
<classifier>jdk15</classifier>
</dependency>
Test demo
import net.sf.json.JSONObject;
public class JsonLibDemo {
public static void main(String[] args) {
// Create a test object
User user = new User(" Li Ning ",24," Beijing ");
System.out.println(user);
// Turn into json String
JSONObject jsonObject = JSONObject.fromObject(user);
String json = jsonObject.toString();
System.out.println(json);
//json Convert string to object
JSONObject jsonObject1 = JSONObject.fromObject(json);
User user1 = (User) JSONObject.toBean(jsonObject1,User.class);
System.out.println(user1);
}
}
2. org. json
maven depends on the following
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20170516</version>
</dependency>
Test demo
import org.json.JSONObject;
public class OrgJsonDemo {
public static void main(String[] args) {
// Create a test object
User user = new User(" Li Ning ",24," Beijing ");
System.out.println(user);
// Turn into json String
String json = new JSONObject(user).toString();
System.out.println(json);
//json Convert string to object
JSONObject jsonObject = new JSONObject(json);
String name = jsonObject.getString("name");
Integer age = jsonObject.getInt("age");
String location = jsonObject.getString("location");
User user1 = new User(name,age,location);
System.out.println(user1);
}
}
3. Jackson
maven Dependence
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.0</version>
</dependency>
Test demo
import com.fasterxml.jackson.databind.ObjectMapper;
public class JacksonDemo {
public static void main(String[] args) {
// Create a test object
User user = new User(" Li Ning ",24," Beijing ");
System.out.println(user);
// Turn into json String
ObjectMapper mapper = new ObjectMapper();
try {
String json = mapper.writeValueAsString(user);
System.out.println(json);
//json Convert string to object
User user1 = mapper.readValue(json,User.class);
System.out.println(user1);
} catch (java.io.IOException e) {
e.printStackTrace();
}
}
}
4. Gson
maven Dependence
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.1</version>
</dependency>
Test demo
import com.google.gson.Gson;
public class GsonDemo {
public static void main(String[] args) {
// Create a test object
User user = new User(" Li Ning ",24," Beijing ");
System.out.println(user);
// Turn into json String
Gson gson = new Gson();
String json = gson.toJson(user);
System.out.println(json);
//json Convert string to object
User user1 = gson.fromJson(json,User.class);
System.out.println(user1);
}
}
5. FastJson
maven Dependence
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.37</version>
</dependency>
Test demo
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.4</version>
<classifier>jdk15</classifier>
</dependency>
0
json-lib is a bit old, and the jar package is only updated to 2010
org. json is a bit cumbersome to use
Jackson, Gson and FastJson can be done in just one or two sentences
PS: About json operation, here we recommend several practical json online tools for your reference:
Online JSON code verification, verification, beautification and formatting tools:
http://tools.ofstack.com/code/json
JSON Online Formatting Tool:
http://tools.ofstack.com/code/jsonformat
Online XML/JSON Interconversion Tool:
http://tools.ofstack.com/code/xmljson
json code online formatting/beautification/compression/editing/conversion tool:
http://tools.ofstack.com/code/jsoncodeformat
Online json compression/escape tool:
http://tools.ofstack.com/code/json_yasuo_trans
For more readers interested in java related contents, please check the special topics of this site: "Summary of Java Operating json Format Data", "Summary of Java Array Operating Skills", "Summary of Java Character and String Operating Skills", "Summary of Java Mathematical Operation Skills", "Tutorial on Java Data Structure and Algorithm" and "Summary of Java Operating DOM Node Skills"
I hope this paper is helpful to everyone's java programming.