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.


Related articles: