我一直在尝试评估GWT Autobean功能,以便将JSON对象解码/编码为REST调用的域对象.
以下示例:http://code.google.com/p/google-web-toolkit/wiki/AutoBean#Quickstart
我能够将单个JSON对象转换为域对象:
AutoBean<Person> personBean = AutoBeanCodex.decode(factory, Person.class, JsonResources.INSTANCE.json().getText());
Run Code Online (Sandbox Code Playgroud)
其中JsonResources.INSTANCE.json()返回一个JSON字符串.
但是,我没有成功从JSON转换Person对象列表.
如果有人有这方面的例子,那将会有所帮助吗?
谢谢!
jus*_*sio 17
我能想到的唯一方法是创建一个特殊的autobean,它将拥有List<Person>属性.例如:
public interface Result {
void setPersons(List<Person> persons);
List<Person> getPersons();
}
Run Code Online (Sandbox Code Playgroud)
例如json字符串:
{
persons:[
{"name":"Thomas Broyer"},
{"name":"Colin Alworth"}
]
}
Run Code Online (Sandbox Code Playgroud)
更新:输入JSON是一个数组时的解决方法(如persons[0]注释中所示).Eg JSON如下所示:
[{"name":"Thomas Broyer"},{"name":"Colin Alworth"}]
Run Code Online (Sandbox Code Playgroud)
解析代码如下所示:
AutoBeanCodex.decode(factory, Result.class, "{\"persons\": " + json + "}").getPersons();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4938 次 |
| 最近记录: |