如何在java中解析JSON,以及jsonobject和JSONArray之间的区别


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

如何解析这类JSON对象?请帮. .

您需要使用json库,如gson, jsonlib或jackson。

JSONObject:它是一个类似Map的散列对象,其中使用键值对

JSONArray:它是List

等对象的集合。

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);

可以区分JSONArray &JSONObject如下:

JSONArray

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

[        {"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"},
    {"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"},
    {"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"}
  ]

JSONObject

A 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);
   }

相关内容

最新更新