一,解析对象
1.不带对象名:
①格式:{"address":"北京市","id":"1001","name":"Tom"}
②解析方法:
JSONObject json = new
JSONObject(jsonString);
person
.setId(json
.getInt("id"));
person.setName(json.getString("name"));
person
.setAddress(json
.getString("address"));
2.带对象名:
①格式:{"person1":{"address":"北京市","id":"1001","name":"Tom"}}
②解析方法:
JSONObject json = new JSONObject(jsonString)
.
getJSONObject("person1");
person
.setId(json
.getInt("id"));
person
.setName(json
.getString("name"));
person
.setAddress(json
.getString("address"));
3.对象套对象
①格式:{"person1":{"address":"北京市","id":"1001","name":"Tom"},"person2":{"address":"北京市","id":"1001","name":"Tom"}}
②解析方式:
JSONObject json = new JSONObject(jsonString)
.getJSONObject("person2");
person
.setId(json
.getInt("id"));
person
.setName(json
.getString("name"));
person
.setAddress(json
.getString("address"));
二,解析数组
1.不带数组名:
①格式:{[{"id":"1001","name":"Tom","address":"北京市"},{"id":"1002","name":"Mary","address":"上海市"}]}
②解析方法:
JSONArray jsonArray = new JSONArray(jsonString);
for(int i = 0;i < jsonArray
.length();i++){
Person person = new Person();
JSONObject json = (JSONObject)jsonArray
.get(i);
person
.setId(json
.getInt("id"));
person
.setName(json
.getString("name"));
person
.setAddress(json
.getString("address"));
}
2.带数组名:
①格式:{"persons":[{"id":"1001","name":"Tom","address":"北京市"},{"id":"1002","name":"Mary","address":"上海市"}]}
②解析方法:
JSONObject jsonObject = new JSONObject(jsonString);
JSONArray jsonArray =
jsonObject.getJSONArray("persons");
for(int i = 0;i < jsonArray
.length();i++){
Person person = new Person();
JSONObject json = (JSONObject)jsonArray
.get(i);
person
.setId(json
.getInt("id"));
person
.setName(json
.getString("name"));
person
.setAddress(json
.getString("address"));
}
3.对象套数组
① 格式:{"object":{"persons":[{"id":"1001","name":"Tom","address":"北京市"},{"id":"1002","name":"Mary","address":"上海市"}]}}
②解析方法:
JSONObject jsonObject = new JSONObject(jsonString)
.
getJSONObject("object");
JSONArray jsonArray = jsonObject
.getJSONArray("persons");
for(int i = 0;i < jsonArray
.length();i++){
Person person = new Person();
JSONObject json = (JSONObject)jsonArray
.get(i);
person
.setId(json
.getInt("id"));
person
.setName(json
.getString("name"));
person
.setAddress(json
.getString("address"));
}