Java
 Computer >> コンピューター >  >> プログラミング >> Java

JavaのJacksonライブラリを使用してJSONをJavaオブジェクトに変換するにはどうすればよいですか?


ObjectMapper クラスは、ジャクソンライブラリで最も重要なクラスです。 readValue()を使用してJSONをJavaオブジェクトに変換できます ObjectMapperのメソッド クラスの場合、このメソッドは、指定されたJSONコンテンツ文字列からJSONコンテンツを逆シリアル化します。

構文
public <T> readValue(String content, JavaType valueType) throws IOException, JsonParseException, JsonMappingException
import java.io.*;
import java.util.*;
import com.fasterxml.jackson.core.*;
import com.fasterxml.jackson.databind.*;
public class JSONToJavaObjectTest {
   public static void main(String args[]) throws JsonGenerationException, JsonMappingException, IOException {
      Employee emp1 = new Employee();
      emp1.setFirstName("Raja");
      emp1.setLastName("Ramesh");
      emp1.setId(115);
      emp1.getTechnologies().add("Java");
      emp1.getTechnologies().add("Selenium");
      emp1.getTechnologies().add("Spark");
      ObjectMapper mapper = new ObjectMapper();
      String jsonStr = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(emp1);
      System.out.println(jsonStr);
      System.out.println("Deserializing JSON to Object:");
      Employee emp2 = mapper.readValue(jsonStr, Employee.class);
      System.out.println(emp2.getId() + " " + emp2.getFirstName() + " " + emp2.getLastName() + " " + emp2.getTechnologies());
   }
}
// Employee class
class Employee {
   private int id;
   private String firstName;
   private String lastName;
   private List technologies = new ArrayList<>();
   public int getId() {
      return id;
   }
   public void setId(int id) {
      this.id = id;
   }
   public String getFirstName() {
      return firstName;
   }
   public void setFirstName(String firstName) {
      this.firstName = firstName;
   }
   public String getLastName() {
      return lastName;
   }
   public void setLastName(String lastName) {
      this.lastName = lastName;
   }  
   public List getTechnologies() {
      return technologies;
   }
   public void setTechnologies(List technologies) {
      this.technologies = technologies;
   }
}

出力

{
 "id" : 115,
 "firstName" : "Raja",
 "lastName" : "Ramesh",
 "technologies" : [ "Java", "Selenium", "Spark" ]
}
Deserializing JSON to Object:
115 Raja Ramesh [Java, Selenium, Spark]

  1. JavaでマップをJSONオブジェクトに変換するにはどうすればよいですか?

    JSON 軽量です 、テキストベース および言語に依存しない データ交換フォーマット。 JSONは、オブジェクトのような2つの構造化されたタイプを表すことができます およびアレイ 。オブジェクトは順序付けられていない キーのコレクション / value ペアと配列は順序付けられたシーケンスです 値の 。 マップをJSONに変換できます tを使用するオブジェクト oJSONString() メソッド(静的 )のorg.json.simple.JSONValue。 2つの重要な静的メソッドがあります: writeJSONString() オブジェクトをJSONテキストにエンコードして

  2. JavaオブジェクトをJSONに変換する方法

    このチュートリアルでは、JacksonとGsonの2つのライブラリを使用してJavaオブジェクトをJSONに変換する方法を示します。 標準のPOJOであるPersonクラスを使用します。人物オブジェクトを作成したら、別のライブラリを使用してそれをJSONに変換できます。 Person.java import java.util.List; import java.util.Map; public class Person { String name; Integer age; List<String> hobbies; Map<Str