ホームページ > Java > &#&チュートリアル > Javaを使用してJacksonでオブジェクトの配列を逆シリアル化する方法は?

Javaを使用してJacksonでオブジェクトの配列を逆シリアル化する方法は?

Patricia Arquette
リリース: 2024-12-21 07:46:13
オリジナル
730 人が閲覧しました

How to Deserialize an Array of Objects in Jackson using Java?

Jackson によるオブジェクトの配列の逆シリアル化

Jackson のドキュメントには、オブジェクトの配列の逆シリアル化のサポートが記載されていますが、具体的な構文は不明瞭な場合があります。オブジェクトの配列を逆シリアル化するための 2 つのアプローチを検討してみましょう。

シリアル化に関する考慮事項

オブジェクトの配列に対する次の JSON 入力について考えてみましょう。

[{
    "id" : "junk",
    "stuff" : "things"
},
{
    "id" : "spam",
    "stuff" : "eggs"
}]
ログイン後にコピー

逆シリアル化アプローチ 1: としてArray

ObjectMapper をインスタンス化し、readValue を使用して入力をターゲット オブジェクト タイプの配列として逆シリアル化します:

// Instantiate an ObjectMapper
ObjectMapper mapper = new ObjectMapper();

// Deserialize JSON into an array of MyClass objects
MyClass[] myObjects = mapper.readValue(jsonInput, MyClass[].class);
ログイン後にコピー

逆シリアル化アプローチ 2: リストとして

入力をリストとして逆シリアル化するには、新しい TypeReference を使用できます。または、constructCollectionType:

オプション a: TypeReference を使用する

// Create TypeReference for a list of MyClass objects
TypeReference<List<MyClass>> typeRef = new TypeReference<List<MyClass>>() {};

// Deserialize JSON input using the TypeReference
List<MyClass> myObjects = mapper.readValue(jsonInput, typeRef);
ログイン後にコピー

オプション b:constructCollectionType

// Create a CollectionType for a list of MyClass objects
JavaType type = mapper.getTypeFactory().constructCollectionType(List.class, MyClass.class);

// Deserialize JSON input using the CollectionType
List<MyClass> myObjects = mapper.readValue(jsonInput, type);
ログイン後にコピー

を使用するこれらのアプローチを使用すると、オブジェクトの配列を Java の目的のデータ構造に柔軟に逆シリアル化できます。ジャクソン。

以上がJavaを使用してJacksonでオブジェクトの配列を逆シリアル化する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート