使用Android2.3起提供的json解析包org.json
如下为 Json 数据:
{
"is_success": "0",
"saleloc_top": [
{
"saleloc_sale_num": "36",
"saleloc_name": "西湖区6"
},
{
"saleloc_sale_num": "25",
"saleloc_name": "西湖区5"
},
{
"saleloc_sale_num": "16",
"saleloc_name": "西湖区4"
},
{
"saleloc_sale_num": "9",
"saleloc_name": "西湖区3"
},
{
"saleloc_sale_num": "4",
"saleloc_name": "西湖区2"
},
{
"saleloc_sale_num": "1",
"saleloc_name": "西湖区1"
}
],
"total_num": "91",
"reference_margin": "500",
"total_sales": "1000",
"saleloc_num": "91",
"goods_top": [
{
"goods_name": "货物6",
"goods_sale_num": "36"
},
{
"goods_name": "货物5",
"goods_sale_num": "25"
},
{
"goods_name": "货物4",
"goods_sale_num": "16"
},
{
"goods_name": "货物3",
"goods_sale_num": "9"
},
{
"goods_name": "货物2",
"goods_sale_num": "4"
},
{
"goods_name": "货物1",
"goods_sale_num": "1"
}
]
}
以上Json需转义"后使用
以上Json需转义"后使用
如
//解析
{
"goods_name": "货物1",
"goods_sale_num": "1"
}
需写成如下字符串形式
如果由webservice获取Json数据,则不需要转义 直接使用。
"{\"goods_name\": \"货物1\", \"goods_sale_num\": \"1\"}"
//解析
String jsonObject = strJsonResult;//strJsonResult是上面的那段json数据;
//得到这段json数据对象
JSONObject object_Totalsale = new JSONObject(jsonObject);
//获取键对应的值
String is_success = object_Totalsale.getString("is_success");
Log.e("**is_success**", is_success);
JSONArray arraySaleloc_top = object_Totalsale.getJSONArray("saleloc_top");
int length_Saleloc_top = arraySaleloc_top.length();
for(int i=0;i<length_Saleloc_top;i++){
JSONObject obj_Saleloc_top = arraySaleloc_top.getJSONObject(i);
String saleloc_sale_num = obj_Saleloc_top.getString("saleloc_sale_num");
String saleloc_name = obj_Saleloc_top.getString("saleloc_name");
Log.e("**saleloc_sale_num**", saleloc_sale_num);
Log.e("**saleloc_name**", saleloc_name);
}
String total_num = object_Totalsale.getString("total_num");
String reference_margin = object_Totalsale.getString("reference_margin");
String total_sales = object_Totalsale.getString("total_sales");
String saleloc_num = object_Totalsale.getString("saleloc_num");
Log.e("**total_num**", total_num);
Log.e("**reference_margin**", reference_margin);
Log.e("**total_sales**", total_sales);
Log.e("**saleloc_num**", saleloc_num);
JSONArray arrayGoods_top = object_Totalsale.getJSONArray("goods_top");
int length_Goods_top = arrayGoods_top.length();
for(int i=0;i<length_Goods_top;i++){
JSONObject obj_Goods_top = arrayGoods_top.getJSONObject(i);
String goods_name = obj_Goods_top.getString("goods_name");
String goods_sale_num = obj_Goods_top.getString("goods_sale_num");
Log.e("**goods_name**", goods_name);
Log.e("**saleloc_name**", goods_sale_num);
}