ホームページ  >  記事  >  Java  >  Java で Jackson を使用して JSON 文字列を Map に変換する方法

Java で Jackson を使用して JSON 文字列を Map に変換する方法

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-30 21:03:03630ブラウズ

How to Convert a JSON String to a Map<String, String> Java で Jackson を使用していますか? 
Java で Jackson を使用しますか? " />

Jackson JSON を使用して JSON 文字列をマップ に変換する方法

質問:

Jackson を使用して JSON 文字列を Map に変換しようとすると、「Unchecked assign Map to Map」というエラーが発生し、Java での JSON 変換の代替方法が模索されます。

答え:

Jackson JSON を使用する正しいアプローチは、次のように TypeReference を利用して目的のマップ タイプを指定することです。

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

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

文字列から読み取る場合は、new ByteArrayInputStream(astring.getBytes("UTF-8")) を使用して InputStream を取得し、それを mapper.readValue() に渡します。

代替ネイティブ Java JSON 変換:

Java での JSON 変換のオプションは Jackson だけではありません。Google の Gson ライブラリでは、より直感的なアプローチが提供されています。

  1. Gson クラスをインポートします。
  2. Gson オブジェクトを作成します。
  3. Gson.fromJson() を使用して、JSON 文字列を目的のオブジェクト タイプ (この場合は Map) に変換します。

追加注:

Jackson の代わりに Gson ライブラリを使用する推奨を反映するために、元の回答が更新されました。

以上がJava で Jackson を使用して JSON 文字列を Map に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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