那不可能 您需要修改您的JSON结构来表示
object1,
object2等作为的项目 阵列
。现在,它们是一个对象的属性,显然不清楚它们的数量(否则,您没有尝试将其映射为
List)。Gson很聪明,但没有 那么 聪明:)
因此,作为一个基本示例,此JSON结构带有一个数组:
{ nodes: [ { item1: 'value1a', item2: 'value2a' }, { item1: 'value1b', item2: 'value2b' }, { item1: 'value1c', item2: 'value2c' } ]}
与Java表示形式(不一定称为POJO,而只是Javabean或模型对象或值对象)结合使用。
public class Container { private List<Node> nodes; // +getter.}public class Node { private String item1; private String item2; // +getters.}
和这个Gson的电话
Container container = new Gson().fromJson(json, Container.class);
应该管用。
更新
:显然,您的JSON结构是问题,而不是Java对象结构。假设您的Java对象结构正是您最终想要得到的,那么您的JSON结构应如下所示,以使Gson做好工作:
{ jObjects: [ { id: 123, jObjects: [ { item1: 'value1a', item2: 'value2a' }, { item1: 'value1b', item2: 'value2b' }, { item1: 'value1c', item2: 'value2c' } ] }, { id: 456, jObjects: [ { item1: 'value1d', item2: 'value2d' }, { item1: 'value1e', item2: 'value2e' }, { item1: 'value1f', item2: 'value2f' } ] } ]}
由于该
JsonElement属性
String无效,因此只能将其替换为。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)