JavaにおけるJSONの直列化および逆直列化の取り扱い方法は?
Javaでは、JSONのシリアル化とデシリアル化を処理するためにJacksonライブラリを使用することができます。以下は簡単な例です:
最初に、MavenまたはGradleにJacksonの依存関係を追加する必要があります。
メイヴン:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.12.3</version>
</dependency>
Gradle: Gradle:
implementation 'com.fasterxml.jackson.core:jackson-databind:2.12.3'
その後、JavaオブジェクトをJSON文字列にシリアライズするために、以下のコードを使用することができます:
import com.fasterxml.jackson.databind.ObjectMapper;
public class JsonSerializationExample {
public static void main(String[] args) throws Exception {
// 创建一个Java对象
Person person = new Person("John", 25);
// 创建ObjectMapper对象
ObjectMapper objectMapper = new ObjectMapper();
// 将Java对象序列化为JSON字符串
String jsonString = objectMapper.writeValueAsString(person);
// 打印JSON字符串
System.out.println(jsonString);
}
}
上記のコードは、次のJSON文字列を出力します:
{"name":"John","age":25}
次に、JSON文字列をJavaオブジェクトに逆シリアル化するために以下のコードを使用できます:
import com.fasterxml.jackson.databind.ObjectMapper;
public class JsonDeserializationExample {
public static void main(String[] args) throws Exception {
// JSON字符串
String jsonString = "{\"name\":\"John\",\"age\":25}";
// 创建ObjectMapper对象
ObjectMapper objectMapper = new ObjectMapper();
// 将JSON字符串反序列化为Java对象
Person person = objectMapper.readValue(jsonString, Person.class);
// 打印Java对象的属性
System.out.println(person.getName());
System.out.println(person.getAge());
}
}
The code above will generate the following output:
上記のコードは以下の出力を生成します。
John
25
反転シリアル化を行う際には、対象となるJavaクラスの型(例:Person.class)を指定する必要があることに注意してください。