如何在java中解析JSON块

时间:2015-04-14 18:48:30

标签: java arraylist

我有一些JSON信息。 例如:

"Items":[{"User":{"Id":"123","name":"abcdef","email":"xy@z.com"},"User":{"Id":"456","name":"def","email":"we@z.com"}}]

我想删除诸如'{','''和'}'之类的符号,并将其存储在ArrayList中,以便JSON中的每个元素在新的ArrayList中都有一个单独的位置。 我期待的输出看起来有点像这样:

ArrayList[0][0]:Id
ArrayList[0][1]:123
ArrayList[1][0]:name
ArrayList[1][1]:abcdef
etc.,

示例代码:

public String[] ParseGetJSON (String str){
    String text = str;
    try{
        JSONParser jsonParser = new JSONParser();
        JSONObject jsonObj = (JSONObject) jsonParser.parse(text);
        JSONArray item = (JSONArray) jsonObj.get("Items");
        for(int i = 0;i<item.size();i++){
            System.out.println("The "+i+" element of the array"+item.get(i));
        }

输出:

The 0 element of the array: {"Id":"123","name":"abcdef","email":"xy@z.com"}

1 个答案:

答案 0 :(得分:0)

您遇到的问题是您的原始输入JSON嵌套比解析时更深。您致电item.get(i)时看到的输出清楚地表明item的每个元素也是JSONObject,每个元素都有三个字段(Id,{{1 },name)。

您要做的是将每个元素视为email,并解析它:

JSONObject

提取完每个键和值后,您可以随意使用它们。