0

抱歉,如果之前已经回答了这个问题,但我没有找到任何东西。

问题如下:我使用 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": "[{...}]"

这是无效的(根据服务器)。

那么有什么想法吗?

4

1 回答 1

0

这是预期的响应,因为您将 JSON 字符串分配给一个变量,该变量只不过是一个字符串本身。我的建议使用

private Object styles;

并使用 GSON 反序列化,这会将结果转换为地图或地图列表。

于 2013-06-03T17:04:24.743 回答