私はrestTemplateを使用して、jsonでオブジェクトの非常に単純な表現を返すサーブレットにリクエストを送信しています。
{
"id":"SomeID"
"name":"SomeName"
}
そして、これらの 2 つのフィールドと、対応するセッターとゲッターを備えた DTO があります。私が知りたいのは、応答を「解析」することなく、その json 応答を使用してオブジェクトを作成する方法です。
私はrestTemplateを使用して、jsonでオブジェクトの非常に単純な表現を返すサーブレットにリクエストを送信しています。
{
"id":"SomeID"
"name":"SomeName"
}
そして、これらの 2 つのフィールドと、対応するセッターとゲッターを備えた DTO があります。私が知りたいのは、応答を「解析」することなく、その json 応答を使用してオブジェクトを作成する方法です。
個人的にはジャクソンをお勧めします。そのかなり軽量で、非常に高速で、構成はほとんど必要ありません。デシリアライズの例を次に示します。
@XmlRootElement
public class MyBean {
private String id;
private String name;
public MyBean() {
super();
}
// Getters/Setters
}
String json = "...";
MyBean bean = new ObjectMapper().readValue(json, MyBean.class);
Google Gsonを使用した例を次に示します。
public class MyObject {
private String id;
private String name;
// Getters
public String getId() { return id; }
public String getName() { return name; }
}
それにアクセスするには:
MyObject obj = new Gson().fromJson(jsonString, MyObject.class);
System.out.println("ID: " +obj.getId());
System.out.println("Name: " +obj.getName());
最良の方法に関する限り、それは主観的なものです。これは、必要なことを達成できる1 つの方法です。
http://code.google.com/p/json-simple/はこのために素晴らしくて軽量です