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

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

Barbara Streisand
Barbara Streisandオリジナル
2024-12-24 12:27:10962ブラウズ

How to Deserialize JSON Arrays of Objects using Jackson?

Jackson を使用したオブジェクトの配列の逆シリアル化

JSON データを扱う場合、多くの場合、オブジェクトの配列を解析する必要があります。データ バインディング用の人気のある Java ライブラリである Jackson は、このような構造の逆シリアル化のサポートを提供します。

Jackson のドキュメントには、「サポートされているすべての型の配列」を逆シリアル化できると記載されています。ただし、このプロセスの具体的な構文はすぐには分からないかもしれません。 Jackson を使用した配列の逆シリアル化を明確にするために、次のシナリオを検討してみましょう:

単一オブジェクトの逆シリアル化

次の JSON 入力について考えてみましょう:

{
    "id" : "junk",
    "stuff" : "things"
}

この JSON を MyClass という名前の Java オブジェクトに逆シリアル化するには、次のコードを使用します。コード:

//json input
{
    "id" : "junk",
    "stuff" : "things"
}

//Java
MyClass instance = objectMapper.readValue(json, MyClass.class);

オブジェクトの配列の逆シリアル化

MyClass オブジェクトの配列の場合、JSON 入力は次のようになります:

[{
    "id" : "junk",
    "stuff" : "things"
},
{
    "id" : "spam",
    "stuff" : "eggs"
}]

この配列を MyClass オブジェクトの Java リストに逆シリアル化するには、次の 2 つがあります。オプション:

配列として:

MyClass[] myObjects = mapper.readValue(json, MyClass[].class);

リストとして:

List<MyClass> myObjects = mapper.readValue(jsonInput, new TypeReference<List<MyClass>>() {});

または、リストの種類:

List<MyClass> myObjects = mapper.readValue(jsonInput, mapper.getTypeFactory().constructCollectionType(List.class, MyClass.class));

これらのメソッドに従うことで、 Jackson を使用してオブジェクトの配列を効果的に逆シリアル化し、Java コードでその内容に簡単にアクセスできます。

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。