のJackson データバインディングドキュメントJackson が「サポートされているすべての型の配列」の逆シリアル化をサポートしていることを示していますが、これの正確な構文はわかりません。
単一のオブジェクトの場合は次のようにします。
//json input
{
"id" : "junk",
"stuff" : "things"
}
//Java
MyClass instance = objectMapper.readValue(json, MyClass.class);
ここで配列に対して次の操作を行います:
//json input
[{
"id" : "junk",
"stuff" : "things"
},
{
"id" : "spam",
"stuff" : "eggs"
}]
//Java
List<MyClass> entries = ?
魔法の欠落コマンドがあるかどうか知っている人はいますか? そうでない場合、解決策は何ですか?
ベストアンサー1
まずマッパーを作成します:
import com.fasterxml.jackson.databind.ObjectMapper;// in play 2.3
ObjectMapper mapper = new ObjectMapper();
配列として:
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));