2014-03-31 178 views
0

如何使用GSON解析此JSON?使用GSON解析键 - 对象JSON

{ 
    "1" : [ 
     { 
      "id" : 1, 
      "images" : [ 
       {}, 
       {}, 
       ... 
      ] 
     }, 
     {}, 
     ... 
    ], 
    "2" : [ 
      {}, 
     {}, 
     ... 
    ], 
    ... 
} 

我跑出了想法如何解析它。我试图使用地图,但对象为空。

我的课:

public class Root { 
    private HashMap<Integer, FirstObject> objects; 
} 

public class FirstObject { 
    private List<SecondObject> objects; 
} 

public class SecondObject { 
    private int id; 
    private List<Image> images; 
} 

public class Image { 
    ... 
} 

我做错了什么?

+0

你基本上没有做任何事情,所以你不会错。请发布您的完整代码。 – cheseaux

+1

在根类中我认为你不需要创建一个新类,你只需要创建类型ArrayList的公共变量 – HCarrasko

+0

转到json.org并学习JSON语法。然后明白一个JSON“数组”是一个Java List,而一个JSON“object”是一个Java Map。一个标准的JSON解析器应该能够生成上面代表的...的地图列表地图,而没有任何方向。然后,您可以将其分开放入心中。为上述结构定义自己的对象只是额外的开销,因为对象只包含地图和列表。 –

回答

1
public class Root { 
    @SerializedName("1") 
    @Expose 
    private List<Album> _1 = new ArrayList<Album>(); 

    @SerializedName("2") 
    @Expose 
    private List<Album> _2 = new ArrayList<Album>(); 

    ... 
} 

解决我的问题。