Android JSON的封装(JSONObject,JSONStringer两种方法)

创建如下所示的一个json文件:
{  
"phone" : ["12345678", "87654321"], // 数组  
"name" : "yuanzhifei89", // 字符串  
"age" : 100, // 数值  
"address" : { "country" : "china", "province" : "jiangsu" }, // 对象  
"married" : false // 布尔值  


一、使用JSONObject创建文件:
try {  
// 首先最外层是{},是创建一个对象  
JSONObject person = new JSONObject();  
// 第一个键phone的值是数组,所以需要创建数组对象  
JSONArray phone = new JSONArray();  
phone.put("12345678").put("87654321");  
person.put("phone", phone);  
person.put("name", "yuanzhifei89");  
person.put("age", 100);  
// 键address的值是对象,所以又要创建一个对象  
JSONObject address = new JSONObject();  
address.put("country", "china");  
address.put("province", "jiangsu");  
person.put("address", address);    
person.put("married", false);  
} catch (JSONException ex) {  
// 键为null或使用json不支持的数字格式(NaN, infinities)  
throw new RuntimeException(ex);  
}


二、使用JSONStringer创建json文件:
try {  
JSONStringer jsonText = new JSONStringer();  
// 首先是{,对象开始。object和endObject必须配对使用  
jsonText.object();  
     
jsonText.key("phone");  
// 键phone的值是数组。array和endArray必须配对使用  
jsonText.array();  
jsonText.value("12345678").value("87654321");  
jsonText.endArray();  


jsonText.key("name");  
jsonText.value("yuanzhifei89");  
jsonText.key("age");  
jsonText.value(100);  


jsonText.key("address");  
// 键address的值是对象  
jsonText.object();  
jsonText.key("country");  
jsonText.value("china");  
jsonText.key("province");  
jsonText.value("jiangsu");  
jsonText.endObject();  


jsonText.key("married");  
jsonText.value(false);  


// },对象结束  
jsonText.endObject();  
} catch (JSONException ex) {  
throw new RuntimeException(ex);  
}

实际上就是JSONArray和JSONObject配合使用。

你可能感兴趣的:(Android开发)