XStreamを使用してJSONをJavaオブジェクトにマップし直しています。次のようなJSON文字列を処理します。
{
"widgets":[
{
"widget_name": "Kenny",
"widget_type": "Character"
},
"widget_name": "Apple",
"widget_type": "Fruit"
}
]
}
更新:このJSONは次のように解釈できると思います:
このJSONは、オブジェクトを含む名前のないオブジェクトを表し
widgets
ます。次にwidgets
、オブジェクトには、他の名前のないオブジェクトの配列が含まれます。これらの名前のないオブジェクトにはそれぞれ、との2つのプロパティが含まれていwidget_name
ますwidget_type
。
Widget
これのそれぞれはwidgetlist
POJOに対応します:
public class Widget {
private String name;
private String type;
// ...etc.
}
上記のJSON文字列をにマップして戻したいのList<Widget>
ですが、クラスを正しくエイリアスする方法がわからないようです。
XStream xs = new XStream();
xs.alias("widgetlist", List.class); // Not a List<Widget> !
xs
マッパーをに変換widgetlist
するにはどうすればよいList<Widget>
ですか?前もって感謝します。