ホームページ  >  記事  >  Java  >  Jackson JSON を使用して JSON 文字列をマップに変換するにはどうすればよいですか?

Jackson JSON を使用して JSON 文字列をマップに変換するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-30 14:29:02846ブラウズ

How do I convert a JSON string to a Map using Jackson JSON?

JSON 文字列をマップに変換 Jackson JSON の使用

JSON 文字列を Map に変換するにはJackson JSON を使用すると、未チェックの代入エラーが発生するため、単純に汎用 Map を目的の型にキャストすることはできません。

代わりに、正しいアプローチは ObjectMapper クラスを使用することです。その方法は次のとおりです。

<code class="java">ObjectMapper mapper = new ObjectMapper();
TypeReference<Map<String, String>> typeRef = 
                new TypeReference<Map<String, String>>() {};

Map<String, String> propertyMap = mapper.readValue(properties, typeRef);</code>

ObjectMapper クラスは、JSON データの読み取りと書き込みのためのメソッドを提供します。 readValue() メソッドは、入力ソース (ファイル、ストリーム、文字列など) と、出力オブジェクトの目的のタイプを指定する TypeReference オブジェクトを受け入れます。

さらに、Jackson JSON はネイティブな方法も提供します。キャストを必要とせずに JSON 文字列を Java オブジェクトに変換します:

<code class="java">public void testJackson() throws IOException {  
    ObjectMapper mapper = new ObjectMapper(); 
    File from = new File("albumnList.txt"); 
    TypeReference<HashMap<String,Object>> typeRef 
            = new TypeReference<HashMap<String,Object>>() {};

    HashMap<String,Object> o = mapper.readValue(from, typeRef); 
    System.out.println("Got " + o); 
}  </code>

このアプローチには、匿名内部クラスを使用して作成できる TypeReference オブジェクトを使用して目的の型を指定することが含まれます。 ObjectMapper は、JSON 文字列を目的の型に直接変換できます。

以上がJackson JSON を使用して JSON 文字列をマップに変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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