Android如何从单个键获取数组

时间:2016-04-19 05:59:54

标签: java android arrays json parsing

我不知道如何从键值获取数组。电子邮件可以有多个值,因此我可以解析它,因为电子邮件不是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
}

2 个答案:

答案 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));
}

如果有任何错误,请告诉我,因为它直接在编辑器中编写,未经过测试。