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配合使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值