【发布时间】:2014-10-20 13:42:57
【问题描述】:
我有来自我们客户的以下 json:
{
"id": 1234,
"delivery_date": 1234567890,
"actions": [
[ "foo", true],
[ "bar", true]
],
"customer": {
"id": 12345,
"company": "",
"firstname": "John",
"lastname": "Smith",
"action": ["dothis", true]
},
"childs": [ 123abc2132312312,11232432943493]
}
我想将“actions”数组解析为 List
与
class Action {
String action;
boolean yesno;
}
和子数组作为 List
class Child{
String id
}
如果没有 json 键,这可能吗?
【问题讨论】:
-
结构设置好了吗?我看不出在动作中有两个元素数组的任何原因
-
您可以将
List<Child>设为Action的参数。它应该相应地填充。如果您想将它们分开,则创建另一个用于 GSON 的类,然后将其拆分。 -
是的,结构已设置。我已经要求将 json 更改为键值对 - 没有成功:(
-
你确定吗?数字周围没有引号。如果您想将其存储为字符串,则应在 GSON 之后进行。查看下面的代码,看看它是否有效
-
要做到这一点,我建议您编写一个反序列化器,并在相应的类 Action 和 Child 中注册,并拥有一个持有这两个类的父实体。这样在解析整个 json 的时候,gson 会自动分配你刚才写的反序列化器。如果您有兴趣,我可以提供详细信息