问题如下:我使用GSON将我的json请求和响应序列化/反序列化为对象。它运作良好,但最近我在序列化时遇到了问题:
我想发送一个复杂的请求。因为我没有设计服务器端,所以我必须让我自己接受他们给我的东西,所以我有这个json:
{
"id": null,
"name": "n",
"description": "some description",
"type": 1,
"channel": 0,
"styles": [{
"styleID": 1,
"style": {... // lots of properties nested one inside another }
}]
}
问题是:我不能为“style”的每个subProperty创建一个类,它们是:“events”,“buttons”,“labels”等...... 所以我想我会这样说:
public class MyData {
private Integer id;
// ...
private String styles = getStylesJsonString(); // hardcoded styles in json format
}
但我不能,因为最终它变成了:
"styles": "[{...}]"
无效(根据服务器)。
所有想法?
答案 0 :(得分:0)
当您将JSON字符串分配给变量时,这是预期的响应,该变量只不过是String本身。我的建议使用
private Object styles;
并使用GSON进行反序列化,将结果转换为Map或Map List。