以下の内容はhttps://rennnosukesann.hatenablog.com/entry/2018/06/24/000000より取得しました。


【Java】JacksonでJson文字列をMapオブジェクトに変換する

Jackson

Jacksonについてはこちら。

rennnosukesann.hatenablog.com

JacksonはJavaのライブラリで、JavaオブジェクトをJSON形式にしたり、その逆のこともできます。もちろんJSONファイルへの読み書きも可能です。

JSONをMapオブジェクトに変換する

Jacksonでは、JSON文字列をJavaオブジェクトに変換することができますが、 変換の方法の一つに、JSONのプロパティと同じ名称のプロパティを持つJavaクラスを用意するやり方があります。

public class JSONResponse {
    private String name;
    private String age;
}
// JSON文字列であるjsonをJSONResponse型オブジェクトに変換
JSONResponse response = mapper.readValue(json, JSONResponse.class);

JSONのプロパティがいつも同じであれば問題はないのですが、
例えば異なるAPIのレスポンスを処理する場合などに、レスポンスごとの個別のコンテナクラスを作成する必要があります。

そんなときは、JSONをMapオブジェクトに変換してしまいましょう。
JacksonのTypeReferenceオブジェクトを利用することでJSONからMap型オブジェクトを生成することができます。

TypeReference<HashMap<String, String>> reference = new TypeReference<HashMap<String, String>>() {};
Map<String, String> map = mapper.readValue(json, reference);



以上の内容はhttps://rennnosukesann.hatenablog.com/entry/2018/06/24/000000より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14