java 处理 json数据

 

处理嵌套json格式的数据。。。

 

public static void main(String[] args) {

// 官方API  http://www.json.org/java/

/*

购物车中信息

goods_cart=%7Bcart_1325036696007:%7Bgoods_id:%22100015%22,goods_name:%22%E6%BE%B3%E5%A4%A7%E5%88%A9%E4%BA%9A%E8%BF%9B%E5%8F%A3%E7%BB%B5%E7%BE%8A%22,goods_imgsrc:%22http://192.168.1.180:7001//gwadmin/uploadimg/spxc/2011/12/9/100016_00948703_68.jpg%22,specs:%22b555bfj05d7dcg307h91323398584156%22,specsstr:%22%E9%A2%9C%E8%89%B2%EF%BC%9A%E9%BB%91%E8%89%B2%E3%80%80%E5%B0%BA%E5%AF%B8%EF%BC%9AL%22,price:4765,stock:15,count:6%7D,cart_1325036702105:%7Bgoods_id:%22100015%22,goods_name:%22%E6%BE%B3%E5%A4%A7%E5%88%A9%E4%BA%9A%E8%BF%9B%E5%8F%A3%E7%BB%B5%E7%BE%8A%22,goods_imgsrc:%22http://192.168.1.180:7001//gwadmin/uploadimg/spxc/2011/12/9/100016_00948703_68.jpg%22,specs:%22787a9f5he93chcifh951323398314484%22,specsstr:%22%E9%A2%9C%E8%89%B2%EF%BC%9A%E9%BB%91%E8%89%B2%E3%80%80%E5%B0%BA%E5%AF%B8%EF%BC%9AXL%22,price:4700.15,stock:12,count:1%7D,cart_1325136643984:%7Bgoods_id:%22100015%22,goods_name:%22%E6%BE%B3%E5%A4%A7%E5%88%A9%E4%BA%9A%E8%BF%9B%E5%8F%A3%E7%BB%B5%E7%BE%8A%22,goods_imgsrc:%22http://192.168.1.180:7001//gwadmin/uploadimg/spxc/2011/12/9/100015_00399656_68.jpg%22,specs:%228466347bi6eia43hd6j1323398639859%22,specsstr:%22%E9%A2%9C%E8%89%B2%EF%BC%9A%E7%81%B0%E8%89%B2%E3%80%80%E5%B0%BA%E5%AF%B8%EF%BC%9AXL%22,price:4600,stock:3,count:1%7D%7D; 

 

* **/

try{

String s0 = "%7Bcart_1325036696007:%7Bgoods_id:%22100015%22,goods_name:%22%E6%BE%B3%E5%A4%A7%E5%88%A9%E4%BA%9A%E8%BF%9B%E5%8F%A3%E7%BB%B5%E7%BE%8A%22,goods_imgsrc:%22http://192.168.1.180:7001//gwadmin/uploadimg/spxc/2011/12/9/100016_00948703_68.jpg%22,specs:%22b555bfj05d7dcg307h91323398584156%22,specsstr:%22%E9%A2%9C%E8%89%B2%EF%BC%9A%E9%BB%91%E8%89%B2%E3%80%80%E5%B0%BA%E5%AF%B8%EF%BC%9AL%22,price:4765,stock:15,count:6%7D,cart_1325036702105:%7Bgoods_id:%22100015%22,goods_name:%22%E6%BE%B3%E5%A4%A7%E5%88%A9%E4%BA%9A%E8%BF%9B%E5%8F%A3%E7%BB%B5%E7%BE%8A%22,goods_imgsrc:%22http://192.168.1.180:7001//gwadmin/uploadimg/spxc/2011/12/9/100016_00948703_68.jpg%22,specs:%22787a9f5he93chcifh951323398314484%22,specsstr:%22%E9%A2%9C%E8%89%B2%EF%BC%9A%E9%BB%91%E8%89%B2%E3%80%80%E5%B0%BA%E5%AF%B8%EF%BC%9AXL%22,price:4700.15,stock:12,count:1%7D,cart_1325136643984:%7Bgoods_id:%22100015%22,goods_name:%22%E6%BE%B3%E5%A4%A7%E5%88%A9%E4%BA%9A%E8%BF%9B%E5%8F%A3%E7%BB%B5%E7%BE%8A%22,goods_imgsrc:%22http://192.168.1.180:7001//gwadmin/uploadimg/spxc/2011/12/9/100015_00399656_68.jpg%22,specs:%228466347bi6eia43hd6j1323398639859%22,specsstr:%22%E9%A2%9C%E8%89%B2%EF%BC%9A%E7%81%B0%E8%89%B2%E3%80%80%E5%B0%BA%E5%AF%B8%EF%BC%9AXL%22,price:4600,stock:3,count:1%7D%7D;";

String s= java.net.URLDecoder.decode(s0, "utf-8");

System.out.println(s);

JSONObject o = new JSONObject(s);

System.out.println(o.get("cart_1325036696007")); //根据属性,获取值

System.out.println(o.toString()); //得到字符串

System.out.println(o.names().get(2)); //获取对象中第三组属性名

System.out.println(o.names().length()); //获取对象中属性个数

//System.out.println(o.names().getJSONArray(1)); //获取对象中属性个数

//names(jsonObjectName) 私有方法 获取该对象的所有属性名,返回成JSONArray。

//JSONObject.getNames(jsonObjectName) 静态方法 获取对象的所有属性名,返回成数组。

System.out.println(JSONObject.getNames(o.getJSONObject("cart_1325036696007"))[1]);

System.out.println(o.getJSONObject("cart_1325036696007").names().get(1));

System.out.println(o.length()); //共有几组对象

System.out.println(o.has("cart_1325036696007")); //有无该该值

/* 遍历json中的每一组元素*/

String name = null;

JSONObject t_o = null;

for(int i=0; i<o.length(); i++){

name = JSONObject.getNames(o)[i];

System.out.println("商品项ID:"+name);

t_o = o.getJSONObject(name);

for(int j=0; j< t_o.length(); j++){

name = JSONObject.getNames(t_o)[j];

System.out.print(name+":"+t_o.get(name)+"  ");

}

System.out.println();

}

}catch(Exception e){

e.printStackTrace();

}

}

 

 

json处理源代码来源:http://www.json.org/java/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值