-2
{
    "users":[ {
            "user":"hi","password":"hi"
        }, {
            "user":"test","password":"test"
        }
    ]   
}

如何解析这种类型的 JSON 对象?请帮忙..

4

3 回答 3

1

您需要使用像gsonjsonlibjackson这样的 json 库。

JSONObject:它是一个类似于 Map 的哈希对象,其中使用键值对

JSONArray:它是 List 等对象的集合

于 2013-04-30T04:26:24.140 回答
0

JSONObject就像带有键值对的地图一样工作。例如。代码如下所示:

JSONObject obj=new JSONObject();
  obj.put("name","Hello");
  obj.put("nickname","Hi");
  StringWriter out = new StringWriter();
  obj.writeJSONString(out);
  String jsonText = out.toString();
  System.out.print(jsonText);

JSONArray像一个列表一样工作,例如,下面的代码:

JSONArray list = new JSONArray();
  list.add("Hello");
  list.add(new Integer(100));
  System.out.print(list);
于 2013-04-30T04:39:19.640 回答
0

您可以区分JSONArray&JSONObject如下:

JSON数组

JSONArray是有序的值序列。它的外部文本形式是一个用方括号括起来的字符串,用逗号分隔值。

[        {"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"},

    {"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"},

    {"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"}

  ]

JSON对象

JSONObject是名称/值对的无序集合。它的外部形式是一个用大括号括起来的字符串,名称和值之间用冒号分隔,值和名称之间用逗号分隔。

  {"bindings": [

    {"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"},

    {"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"},

    {"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"}
]
 };

您可以解析 JSONObject 如下:

  JSONObject JsonObject = new JSONObject(json);
  JSONArray JsonArray_ = JsonObject .getJSONArray("users");
  for (int i = 0; i < numberOfItems; i++) {
     JSONObject record= JsonArray_photo.getJSONObject(i);    
     parsedObject.user = record.getString("user"); //its the same for all fields 
     parsedObject.password = record.getString("password");
     map.add(parsedObject);
   }
于 2013-04-30T04:52:53.703 回答