【发布时间】:2013-06-03 16:56:13
【问题描述】:
对不起,如果之前已经回答过这个问题,但我没有找到任何东西。
问题如下:我使用 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 }
}]
}
问题是:我无法为“样式”的每个子属性创建一个类,它们是:“事件”、“按钮”、“标签”等... 所以我想我会这样说:
public class MyData {
private Integer id;
// ...
private String styles = getStylesJsonString(); // hardcoded styles in json format
}
但我不能,因为最后它变成了:
"styles": "[{...}]"
这是无效的(根据服务器)。
有什么想法吗?
【问题讨论】:
-
你想序列化一些构建这样的 JSON 响应的类吗?或者您想将 JSON 响应反序列化到某些类中吗?
-
问题是我需要将 MyData 对象序列化和反序列化到/从 json 中,唯一相关的信息是 id、名称和类型。但是在服务器端,他们期待更多的信息,例如样式,并且他们也需要有特定的字段。我想我会为此使用一个硬编码的字符串。