【发布时间】:2011-01-28 03:55:15
【问题描述】:
我有一个从 Web 请求返回的 JSON 格式的类别列表。一个例子可能是:
"categories":[["Descriptive Cat 1 Name","cat1label"]]
这将如何在对象中表示?我目前有一个名为 Category 的对象,并且正在使用它:
private List<Category> categories;
类别对象看起来像:
class Category {
private String descrName;
private String label;
.. getters and setters..
}
尝试使用 GSON 解码时出现此错误:
01-27 21:44:46.149: ERROR/AndroidRuntime(843): com.google.gson.JsonParseException: 期望数组但找到对象:Category@437d1ff8
有什么建议吗?我也可以让那些作为地图回来,尽管在 JSON 结果中它们将是 V,K,而不是 K,V,它可以这样映射吗?
如果我将 Category 对象全部丢弃,它确实有效,只需将其映射为:
private List<List<String,String>> categories;
但是有没有更好的方法来表示这些数据?
尼克
【问题讨论】:
-
我无法更改返回的内容,这是 Yelp 服务返回的数据。现在只需将其映射为
private List<List<String,String>> categories即可。
标签: java web-services json gson