2016-01-22 56 views
0

我有这样的JSON文件:JsonArray嵌套的对象 - > GSON

{ 
    "code": "#0", 
    "data": { 
    "list": [ 
     "Chris", 
     "Matt" 
    ], 
    "time": 1453318488122 
    }, 
    "millis": "1453492643260" 
} 

在Java中使用GSON怎样访问“数据”部分,则“清单”,并把它变成一个ArrayList?我尝试在网上寻找,他们都显示事情太复杂,我想要的东西,比如序列化一个类到Json。我不想那样..我如何访问“数据”对象内的“List”数组并放入一个ArrayList?

回答

0

如果你定义一个像这样的类,你可以在没有任何附加适配器类的情况下序列化/反序列化这样的JSON。

class MyPojo { 
    String code; 
    long millis; 
    Data data; 

    static class Data { 
    List<String> list; 
    long time; 
    } 
} 

(+如果最终@SerializedName注释你的战略需要他们)

+0

我不明白吗?是不是有一种简单的方法,我可以将该JsonArray List并将其转换为ArrayList?我确定有......我只是不知道该怎么做。 – JustRayz

+0

如果你只需要从JSON文本中提取List,那么就看看@ NG的答案。 –

2
JsonObject fullObject = new JsonParser().parse(yourFileData).getAsJsonObject(); 
JsonObject data = fullObject.getAsJsonObject('data'); 
JsonArray dataList = data.getAsJsonArray('list'); 

从那里,你可以使用dataList和迭代的元素。

+0

比你哟这么多!工作完美!我确信我尝试了这个,但是idk:D。顺便说一句'不工作在Java中,你的意思是“:D – JustRayz