Android:将列表列表的json键值转换为对象列表

时间:2017-05-25 17:31:45

标签: java android json gson

我从服务器收到以下字符串响应(请注意users值中使用的方括号):

{
   "amount": 3,
   "users": [
      [
         "username1",
         "Name1"
      ],
      [
         "username2",
         "Name2"
      ],
      [
         "username3",
         "Name3"
      ]
   ]
}

如何将其转换为User对象列表?最好使用GSON。

P.S。我的用户类包含用户名和姓名字段。

P.S.S。这篇文章不是this post的重复,因为JSON输出的格式完全不同(在我的例子中,格式与JSONArray fromat不同)并且该帖子的答案无法解决我的问题......

谢谢!

2 个答案:

答案 0 :(得分:2)

检查这个

Type listType = new TypeToken<ArrayList<YourClass>>(){}.getType();
List<YourClass> yourClassList = new Gson().fromJson(response.getJSONArray("users"), listType);

答案 1 :(得分:0)

使用以下链接将您的JSON转换为模型

jsonschema

  • 选择源类型JSON和注释样式Gson

Gson代码:

Gson mGson = new Gson();
Type listType = new TypeToken<List<users>>() {}.getType();
List<users> object = mGson.fromJson(jsonString, listType);

希望这会有助于你的怀疑。