JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。在一次项目中用到页面返回数据处理。
1、引入 json.jar 包;
2、JSONObject 对象使用;
首先创建 JSONObject 对象,使用 put 方法给对象添加元素。
package JSON; import net.sf.json.JSONArray; import net.sf.json.JSONException; import net.sf.json.JSONObject; public class JSONObjectSampl { private static JSONObject createJSONObject(){ JSONObject jsonObj = new JSONObject(); try { jsonObj.put("id", "1"); jsonObj.put("name", "sam"); jsonObj.put("email", "sam@sina.com"); } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); } return jsonObj; } public static void main(String[] args) { //静态方法,直接通过类名.方法名调用 JSONObject jsonObj = JSONObjectSampl.createJSONObject(); System.out.println("jsonObj:"+jsonObj); //判断输出对象类型 boolean isArray = jsonObj.isArray(); boolean isEmpty = jsonObj.isEmpty(); boolean isNullObject = jsonObj.isNullObject(); System.out.println("isArray:" + isArray + "\tisEmpty:" + isEmpty + "\tisNullObject:" + isNullObject); //添加属性,继续在 jsonObj 后面追加元素 jsonObj.element("address", "广东深圳"); System.out.println("添加后的属性元素:"+jsonObj); //返回 jsonArray 对象 JSONArray jsonArray = new JSONArray(); jsonArray.add(0, "this is a jsonArray value"); jsonArray.add(1,"another jsonArray value"); jsonObj.element("jsonArray", jsonArray); //获取jsonArray JSONArray array = jsonObj.getJSONArray("jsonArray"); System.out.println("jsonObj"+jsonObj); System.out.println("返回一个jsonArray 对象"+array); //根据key 返回一个字符串 String name = jsonObj.getString("name"); System.out.println("name"+name); //把字符转换为 JSONObj String temp = jsonObj.toString(); JSONObject object = JSONObject.fromObject(temp); System.out.println("temp:"+object.get("address")); } }
3、JSONArrayList 对象使用
使用 element 方法保存对象
package JSON; import net.sf.json.JSONArray; import net.sf.json.JSONObject; public class JSONTest { public static void main(String[] agrs){ JSONObject jsonObj0 = new JSONObject(); JSONObject jsonObj1 = new JSONObject(); JSONObject jsonObj2 = new JSONObject(); JSONObject jsonObj3 = new JSONObject(); JSONArray jsonArray = new JSONArray(); jsonObj0.put("name0", "张三"); jsonObj0.put("sex0", "female0"); System.out.println("jsonObj0:\t"+jsonObj0); jsonObj1.put("nam1", "李四"); jsonObj1.put("sex1", "male1"); System.out.println("jsonObj1:\t"+jsonObj1); jsonObj2.put("item0", jsonObj0); jsonObj2.put("item1", jsonObj1); System.out.println("jsonObj2:\t"+jsonObj2); jsonObj3.element("jsonObj3", jsonObj2); System.out.println("jsonObj3:\t"+jsonObj3); //往JSONArray中添加JSONObject对象。发现JSONArray跟JSONObject的区别就是JSONArray比JSONObject多中括号[] jsonArray.add(jsonObj1); System.out.println("jsonArray:"+jsonArray); JSONObject jsonObj4 = new JSONObject(); jsonObj4.element("weather", jsonArray); System.out.println("jsonObj4:"+jsonObj4); } }
4、HTML页面处理
var dataObj=eval("("+data+")");//转换为json对象.
为什么要 eval这里要添加 “("("+data+")");//”呢?
原因在于:eval本身的问题。 由于json是以”{}”的方式来开始以及结束的,在JS中,它会被当成一个语句块 来处理,所以必须强制性的将它转换成一种表达式。
加上圆括号的目的是迫使eval函数在处理JavaScript代码的时候强制将括号内的表达式 (expression)转化为对象,而不是作为语句(statement)来执行。举一个例子,例如对象字面量{ },如若不加外层的括号,那么eval会将大括号识别为JavaScript代码块的开始和结束标记,那么{} 将会被认为是执行了一句空语句。所以下面两个执行结果是不同的:
alert(eval("{}"); // return undefined
alert(eval("({})");// return object[Object]
5、http://json-lib.sourceforge.net/apidocs/jdk15/index.html
6、 JSON.JAR 下载地址
http://download.csdn.net/detail/leiyinsu/7064451
相关推荐
下面是如何创建和操作JSONArray的例子: ```java import org.json.JSONArray; JSONArray arr = new JSONArray(); arr.put("Apple"); arr.put("Banana"); arr.put("Orange"); ``` 在Java项目中使用JSONObject和...
转json格式所需的jar包,供Java开发所需,包括commons-beanutils.jar、commons-collections-3.1.jar、commons-lang.jar、commons-logging.jar、ezmorph-1.0.6.jar、json-lib-2.2.2-jdk15.jar
JSONLIB是一个Java库,它提供了对JSON的解析、生成和操作的支持。在这个主题中,我们将深入探讨JSONLIB中的两个核心类:JSONObject和JSONArray。 JSONObject是JSONLIB中的一个关键类,代表了JSON规范中的一个对象,...
这个库提供了几个核心类,如JSONObject、JSONArray、JSONException和JSONString,帮助开发者方便地进行JSON的解析、创建和序列化。 **JSONObject**: JSONObject是表示JSON对象的类,它由键值对组成,键总是字符串...
一.下载json 具体到http://www.json.org/上找Java-json下载,并把其放到项目源代码中,这样就可以引用其类对象了 ...JSONObject myJsonObject = new JSONObject(jsonMessage); //获取对应的值 value1 = myJsonObject.g
在Java中,你可以使用`JSONObject`来创建、解析和操作这样的对象。`JSONObject`类提供了丰富的API,如`get()`用于获取键对应的值,`put()`用于添加或更新键值对,以及`toString()`将对象转换为JSON字符串等。 `...
5. 遍历和操作JSON对象的方法。 6. Java的List接口,特别是ArrayList的使用,包括添加、遍历和删除元素。 7. Java集合框架中的Iterator接口及其在遍历List时的应用。 这些知识点对于理解和处理JSON数据以及在Java...
总之,`JSONObject`和`JSONArray`是处理JSON数据的基本工具,通过它们,我们可以方便地在Java程序中创建、解析和操作JSON结构。理解其创建方法和常用API,能有效提升JSON数据处理的效率。在实际项目中,结合使用合适...
jsonObject, jsonArray所需的6个jar包 json-lib-2.4-jdk15.jar; ezmorph-1.0.6.jar; commons-logging-1.1.1.jar; commons-lang-2.4.jar; commons-collections-3.2.1.jar; commons-beanutils-1.8.3.jar;
在Java编程环境中,当我们处理JSON数据时,经常会用到`JSONObject`和`JSONArray`这两个类。它们是来自开源项目json.org的JSON库的一部分,提供了方便的API来操作JSON格式的数据。JSON(JavaScript Object Notation)...
Kesho是一个开源的存储缓存库,它的设计目标是提供一个高效且灵活的框架,用于存储和缓存各种类型的数据,包括字符串、布尔值、JSON对象以及JSON数组等。在现代应用开发中,数据管理是一个至关重要的环节,Kesho的...
JSONObject与JSONArray使用中所需要的完全jar包整理、需要依赖的包:commons-lang.jar commons-beanutils.jar commons-collections.jar commons-logging.jar ezmorph.jar json-lib-2.2.2-jdk15.jar...
4. **使用示例**: 创建和操作`JsonObject`和`JsonArray`的实例,通常涉及到解析JSON字符串、获取/设置属性值、遍历数组等操作: ```java // 创建JsonObject并添加属性 JsonObject obj = new JsonObject(); obj.add...
总结来说,`JSONObject`和`JSONArray`是JSON-Lib库中处理JSON数据的主要工具,它们帮助开发者在Java程序中方便地创建、操作和解析JSON对象。通过`put()`、`get()`等方法,可以轻松地进行键值对的添加、读取和删除...
在Java中,我们通常使用`org.json`库来处理JSON数据,其中包含`JSONObject`和`JSONArray`两个主要类。 ### JSONObject `JSONObject`用于表示一个键值对的数据结构,类似于Java中的HashMap。在给定的示例中,创建了...
JSON提供两种基本结构:JSONObject和JSONArray。理解它们的使用区别对于有效地处理JSON数据至关重要。 **1. 使用场景的区别** **JSONObject** 主要用于表示一个键值对的数据结构,就像Java中的HashMap或Dictionary...
在Java环境中处理JSON数据时,常用的工具有JSONObject和JSONArray,它们是JSON处理库中的两个基本概念,它们在数据结构和用途上存在一些区别。本文将深入探讨JSONObject和JSONArray的区别和基本用法。 一、...
在Java中,我们可以通过多种方式来处理JSON数据,本文重点探讨了JSONObject和JSONArray这两种对象的使用方法。 首先,让我们了解一下JSONObject。JSONObject是一个以键值对形式存储数据的集合,它本质上是一个Map,...
Volley是Google推出的一款高效的Android网络请求库,它旨在简化Android应用中的网络操作,通过减少网络请求的延迟和提高响应速度来提升用户体验。本教程将详细介绍如何使用Volley进行HTTP的GET和POST请求,以及如何...