我不知道如何从键值获取数组。电子邮件可以有多个值,因此我可以解析它,因为电子邮件不是JsonArray
。
这是我的回答:
{
"userid": "377c8a214c",
"username": "princek082+skip@gmail.com",
"emails": [
"princek082+skip@gmail.com",
"upendrasinghktp@gmail.com"
],
"termsAccepted": "2016-03-03T10:52:14+05:30",
"emailVerified": false
}
答案 0 :(得分:1)
正如Shree Krishna已经回答的那样,您可以从电子邮件密钥获取JSONArray,然后使用一些循环来获取值并将其存储到您的集合中。 但是如果json如果大,那么解析是一团糟所以我建议你使用GSON,你可以根据你的json键生成java POJO类,然后处理你的对象在UI中显示。例如在你的情况下声明如下 -
private String userid;
private String username;
private List<String> emails = new ArrayList<String>();
private String termsAccepted;
private Boolean emailVerified;
创建Getter Setter,你就完成了。
答案 1 :(得分:0)
像这样解析,
ArrayList<String> myEmailArray = new ArrayList<>();
JSONObject jsonObj = new JSONObject(yourJson);
JSONArray jsonEmailArray = jsonObj.getJSONArray("emails");
for(int i=0; i<=jsonEmailArray.length(); i++){
myEmailArray.add(jsonEmailArray.getString(i));
}
如果有任何错误,请告诉我,因为它直接在编辑器中编写,未经过测试。