处理嵌套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/
分享到:
相关推荐
总结,Java处理JSON数据涉及多个库,如Jackson、Gson和org.json,它们提供了不同的API来解析、创建、遍历和序列化/反序列化JSON。理解这些库的使用方式对于任何Java开发者来说都是至关重要的,特别是在处理Web服务和...
java处理json数据格式的jar包,json-lib-2.3-jdk15.jar,ezmorph-1.0.6.jar,commons-logging-1.0.4.jar,commons-lang.jarcommons-collections-3.1.jar,commons-beanutils-1.7.0.jar
当涉及到在Java中处理JSON数据时,`org.json`库是一个广泛使用的开源工具包。这个库提供了一系列的类和方法,帮助开发者方便地操作JSON对象。 `org.json`库主要包含以下核心类: 1. **JSONObject**:这个类代表一...
java后台处理json数据需要用到的包,包括commons-beanutils-1.7.0.jar,commons-collections-3.2.1.jar,commons-httpclient-3.1.jar,commons-lang-2.3.jar,commons-logging-1.1.1.jar,ezmorph-1.0.3.jar,json-...
### Java处理JSON格式数据的通用类详解 #### 概述 在现代软件开发过程中,JSON(JavaScript Object Notation)...同时,此类也为开发者提供了一个良好的学习案例,有助于深入理解Java处理JSON数据的方法和技术栈。
【Java处理JSON格式数据的通用类】是一种在Java中处理JSON数据的标准方法,它能够方便地接收和返回JSON数据,解决开发过程中与JSON交互的问题。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛...
java开发json数据处理全部支持包JSON-LIB,json-lib 2.4,解决java.lang.NoClassDefFoundError: org/apache/commons/lang/exception/NestableRuntimeException异常
这里我们以流行的`org.json`库为例,它提供了简单易用的API来处理JSON数据。要使用这个库,需要将它的JAR文件添加到项目的类路径中。 1. **导入库**: ```java import org.json.*; ``` 2. **发送HTTP请求获取...
在Java中,我们通常使用`org.json`库或`com.google.gson`库来处理JSON对象。 标题"使用java请求json接口数据"指出我们要使用Java发送HTTP请求到一个提供JSON数据的接口。这通常涉及到HTTP的GET或POST方法。GET用于...
开发过程中经常会遇到json数据的处理,而单独对json数据进行增删改并不方便,尤其是Geojson文件的处理,通过对网络资料的整理总结,下面介绍Java语言方法对json数据进行读取、添加、删除与修改操作。
在JAVA开发中,处理JSON数据通常需要借助特定的库来完成,如本话题中提到的`json-lib`和`ezmorph`。 `json-lib`是一个Java语言实现的JSON库,它提供了多种数据类型到JSON的转换,包括JavaBean、Map、List、数组等。...
JavaMail API负责邮件的收发,Fastjson用于高效地处理JSON数据,而Activation框架则增强了对MIME类型数据的支持。这三者共同构成了一个强大的工具集,适用于构建需要邮件功能和JSON交互的应用程序。
Java 处理 JSON 格式数据的通用类 Java 处理 JSON 格式数据的通用类是 Java 语言中处理 JSON 格式数据的常用方法。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它具有易于人阅读和编写、易于...
在Java编程中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于JavaScript的一个子集。JSON格式易于人阅读和编写,同时也易于机器解析和生成。本篇文章将深入探讨如何在Java中解析JSON格式的...
2. 使用诸如net.sf.json JSONObject类(一个流行的Java库,用于处理JSON数据)来将JSON格式字符串转换为JSON对象。转换后,服务端可以通过指定的键(key)来获取JSON对象中的值。 3. 在Java客户端,调用WebService...
在Java开发中,处理JSON数据是必不可少的一项技能。`json.jar` 是一个专为Java设计的JSON解析库,它包含了一系列API,帮助开发者高效地解析和生成JSON格式的数据。 在`json.jar` 中,主要的类和接口包括: 1. **...
在Java中,处理JSON数据是常见的任务,尤其是在前后端交互中,JSON作为数据传输的载体,使得无刷新页面更新成为可能。 在前端,JavaScript可以方便地创建和操作JSON对象。例如,假设我们有一个用户对象,包含用户名...
JSON_lib_2.4是一个针对Java的JSON库,它提供了一系列API,帮助开发者在Java应用程序中处理JSON数据。这个压缩包"Java_json_lib_2.4.zip"包含了JSON_lib 2.4版本的JAR文件——json-lib-2.4-jdk15.jar,这是用于支持...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web...根据项目需求,你可以选择最适合的库来处理JSON数据。在实际使用中,将下载的jar包添加到Java工程的类路径中,即可开始使用这些库。