`

JSONObject和JSONArray对象的创建方法

    博客分类:
  • JSON
 
阅读更多

1.json-lib-2.4-jdk15及其依赖jar包 ,需要注意的是所依赖jar包之间的兼容性,仅仅是导入json-lib是不够的 ,包括commons-logging-1.1.1.jar日志包,xom (XOM ™ 是一种新的 XML 对象模型。 它是一个开源 (LGPL),用于处理 XML 和 Java 力求正确性、 简单化和性能,在这基于树的 API)等


2.JSONOBject对象的创建,基于JSONobject的静态方法fromObject进行创建

    1.通过JSONObject()构造函数创建JSON对象

JSONObject jObject = new JSONObject();
		 /*
		  * json对象添加数据的三种方式
		  * 	--|public Object put(Object,key,Object value)
		  *     --|public JSONObject accumulate (String key, Object value) 
		  *     --|public JSONObject element (String key, Object value) 
		  */
		 //通过element往jObject对象中添加数据,如果key为Null,将会移除当前key
		 jObject.element("name", "zhangsan");
		 jObject.element("sex", "girl");
		 jObject.element("age", 16);
		 
		 //关联一个key得到与之对应的value值
		 System.out.println(jObject.get("name"));
		 System.out.println(jObject.getInt("age"));
		//如果key为null,则返回值为null,并不会抛异常
		 System.out.println(jObject.get("work"));  
		 
		 
		 JSONObject jsonObject = new JSONObject()
		 							.element("string", "JSON")   
									.element("integer", "1")
									.element("double", "2.0")
									.element("boolean", "true");
	
 

 

 

  2.静态方法fromObject()的调用,使用格式化json字符串来创建jsonobject对象

 

String jsonStr = "{\"age\":12,\"name\":\"wangwu\"}";
		 JSONObject jsonOb = JSONObject.fromObject(jsonStr);
		System.out.println(jsonOb.toString());
		
		String jsonstr1 = "{\"age\":17,\"integer\":1,\"boolean\":true,\"double\":2.0}";
		JSONObject json = (JSONObject) JSONSerializer.toJSON(jsonstr1);
		System.out.println(json.getInt("integer"));
		System.out.println(json.getDouble("double"));
		System.out.println(json.getString("age"));
		System.out.println(json.getBoolean("boolean"));
                bject.getInt("age"));
		//如果key为null,则返回值为null,并不会抛异常
		 System.out.println(jObject.get("work"));  
		 
		 
		 JSONObject jsonObject = new JSONObject()
		 							.element("string", "JSON")   
									.element("integer", "1")
									.element("double", "2.0")
 

  3.使用一个map来创建JSONObject对象

 

 

                Map<String,Object> map = new HashMap<String, Object>();
		map.put("age", 12);
		map.put("boolean", true);
		map.put("double",2.0);
		map.put("integer", null);
		
		JSONObject json2 = (JSONObject) JSONSerializer.toJSON(map);
		System.out.println(json2.getDouble("double"));
		System.out.println(json2.getBoolean("boolean"));
		//JSONNULL对象,如果元素的值为null,此情况下null不再是java中的null,而返回一个JSONNULL对象
		System.out.println(JSONNull.getInstance().equals(json2.get("integer")));  //true
 

  4.使用一个javabean来创建JSONObject对象


	        MyBean mybean = new MyBean();
		mybean.setBoole(true);
		mybean.setDouble(2.0);
		mybean.setInteger(1);
		mybean.setString("zhangsan");
		JSONObject jsonobje  = (JSONObject) JSONSerializer.toJSON(mybean);
		System.out.println(jsonobje.getString("string"));

3.JSONArray对象的创建

package cn.spring.jsonobject;

import java.util.ArrayList;
import java.util.List;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.JSONSerializer;

/**
 * 创建JSONArray
 * @author Administrator
 *
 */
public class JSONArrarys {
	public static void main(String[] args) {
		/*
		 * 检查调用正确的 JSONArray 工厂方法的对象类型。
		 * 接受 JSON 格式字符串、 数组、 集合和枚举。 
		 */
		
		
		//1,创建一个JSONArray
		JSONObject jSObject = (JSONObject) JSONSerializer.toJSON("{\"name\":\"zhangsan\",\"age\":\"12\"}");
		JSONArray jsonarray = new JSONArray().element("json")
						.element("1")
					    .element("2.0")
					    .element("true")
					    .element(jSObject); //JSONArray对象中添加JSONObject对象
		Object[] array = jsonarray.toArray();
		for(int i=0;i<array.length;i++){
			System.out.println(array[i]);
		}
		System.out.println(jsonarray.toString()); //["json","1","2.0","true",{"name":"zhangsan","age":"12"}]
		
		System.out.println("---------------------------");
		
		//2.使用一个格式化json字符串创建JSONArray
		String jarray = "['json','1','2.0','true',{'name':'zhangsan','age':'12'}]";
		JSONArray jsonArray = JSONArray.fromObject(jarray);
		System.out.println(jsonArray.get(4));
		
		
		System.out.println("---------------------------");
		
		//3.使用一个collection集合创建JSONArray
		List<Object> list = new ArrayList<Object>();
		list.add("json");
		list.add("1");
		list.add(jSObject);
		
		JSONArray jsonArray2 = JSONArray.fromObject(list);
		System.out.println(jsonArray2.toString());
		System.out.println(jsonArray2.get(2));
		
		System.out.println("---------------------------");
		
		//使用一个Array数组来创建JSONArray
		Object[] arr = new Object[]{"json","1",jSObject};
		JSONArray jsonArray3 = JSONArray.fromObject(arr);
		System.out.println(jsonArray3.toString());
		System.out.println(jsonArray3.get(2));
		
		
	}
}







 

 

 

 

 

 

 

分享到:
评论

相关推荐

    JSONObject、JSONArray需要的jar包

    下面是如何创建和操作JSONArray的例子: ```java import org.json.JSONArray; JSONArray arr = new JSONArray(); arr.put("Apple"); arr.put("Banana"); arr.put("Orange"); ``` 在Java项目中使用JSONObject和...

    JSONObject和JSONArray使用手册.pdf

    2. 使用net.sf.json库在Java中创建和操作JSON对象与数组。 3. 将Java对象(如Map和ArrayList)转换为JSON格式。 4. JSON字符串的解析与对象化。 5. 遍历和操作JSON对象的方法。 6. Java的List接口,特别是ArrayList...

    【jsonObject和jsonArray】需要的jar包

    4. 考虑性能,尤其是在处理大量数据时,选择高效的JSON库和方法。 5. 对于安全问题,如XSS攻击,要对用户输入的数据进行适当的验证和转义。 在博客链接中(由于实际链接无法访问,这里仅做假设),可能详细介绍了...

    JSONLIB之JSONObject与JSONArray的使用

    在Java中,JSONObject提供了许多方法来创建、修改和访问这些键值对。例如: 1. `put(String key, Object value)`:将一个键值对添加到JSONObject中。 2. `get(String key)`:返回指定键的值,如果键不存在,则返回...

    解析json的工具类,包括JSONObject、JSONArray、JSONException、JSONString等

    这个库提供了几个核心类,如JSONObject、JSONArray、JSONException和JSONString,帮助开发者方便地进行JSON的解析、创建和序列化。 **JSONObject**: JSONObject是表示JSON对象的类,它由键值对组成,键总是字符串...

    JSONObject与JSONArray所需jar包

    这段代码展示了如何创建`JSONObject`和`JSONArray`,以及如何向它们添加数据。`put()`方法用于在`JSONObject`中设置键值对,而在`JSONArray`中添加元素。输出结果将展示JSON数据的结构。 总之,`JSONObject`和`...

    JSONObject和JSONArray使用手册.docx

    `JSONObject`和`JSONArray`是处理JSON数据的常用工具,它们分别对应JSON中的对象和数组。在Java集合框架中,`ArrayList`和泛型`List&lt;T&gt;`是常见的列表实现,泛型提供了更好的类型安全性和编程体验。在现代编程中,...

    JSONObject与JSONArray的使用.pdf

    四、JSONArray对象 `JSONArray`代表JSON中的数组或列表。创建一个`JSONArray`实例并添加元素: ```java JSONArray jsonArray = new JSONArray(); jsonArray.add("this is a jsonArray value"); jsonArray.add(...

    Java中JSONObject与JSONArray的使用区别详解

    在实际开发中,你可能需要将JSONObject和JSONArray相互转换,或者将它们序列化为字符串进行网络传输,或者反序列化为Java对象进行处理。这通常涉及到第三方库,如Apache的`json-lib`,它包含了处理JSON所需的各种...

    浅析Java中JSONObject和JSONArray使用

    在代码示例中,我们创建了一个JSONArray对象,并通过构造器的方式以及fromObject方法分别将ArrayList和HashMap对象转换成JSONArray对象。在使用fromObject方法时,需要注意的是,它将每个HashMap对象转换成一个独立...

    JsonObject 与JsonArray 使用时的相关最新jar包(用于java 解析json)

    4. **使用示例**: 创建和操作`JsonObject`和`JsonArray`的实例,通常涉及到解析JSON字符串、获取/设置属性值、遍历数组等操作: ```java // 创建JsonObject并添加属性 JsonObject obj = new JsonObject(); obj.add...

    Volley使用,包含get、post请求,获取String/JsonObject/JsonArray数据(android客户端+java服务器端)

    本教程将详细介绍如何使用Volley进行HTTP的GET和POST请求,以及如何处理获取到的String、JsonObject和JsonArray数据。 一、Volley简介 Volley的核心优势在于其强大的缓存机制、线程池管理和请求队列,能有效处理...

    JSONObject与JSONArray使用方法解析

    总之,`JSONObject`和`JSONArray`是处理JSON数据的核心工具,它们提供了丰富的API用于创建、修改和解析JSON结构。在Java中,利用这些工具可以方便地进行数据序列化和反序列化,实现与前端的高效数据交换。

    JSONObject与JSONArray的使用

    接下来,代码演示了如何向JSONObject中添加一个新的属性,并通过`getJSONArray()`方法从JSONObject中获取一个JSONArray对象。最后,通过遍历JSONArray,打印出其中的元素。 ### 总结 JSONObject和JSONArray类是处理...

    java的JsonObject对象提取值方法

    它们提供了丰富的API来解析、创建和操作JSON对象。在这个例子中,我们展示了如何使用`JsonObject`的`getString()`、`getJSONArray()` 等方法来提取JSON对象中的值。理解这些方法的使用,将有助于在实际开发中有效地...

    net.sf.json.JSONObject实现Object对象与Json字符串的互转

    `JSONObject`可以从一个Java对象创建,也可以解析为一个JSON字符串。例如,我们有一个简单的Java对象: ```java public class User { private String name; private int age; // getters and setters } ``` 要...

    关于JSONArray应用的小实例

    以下是一个简单的示例,展示了如何创建和操作`JSONArray`: ```java import org.json.JSONArray; import org.json.JSONObject; public class JSONArray_Demo { public static void main(String[] args) { // ...

    JsonObject(免分)

    JsonObject类提供了丰富的API来创建、修改和查询JSON对象。以下是一些关键知识点: 1. **创建JsonObject**:可以使用JSONObject的构造函数创建一个空的对象,或者通过传递一个字符串或Map来初始化一个包含已有数据...

    JSONObject对象依赖的jar包

    `JSONObject`是`org.json`库中的一个核心类,它提供了创建、读取和修改JSON对象的功能。要使用`JSONObject`,你需要在项目中引入对应的jar包。在提供的压缩包文件中,应该包含了这个必要的依赖。通常,这个jar包可能...

Global site tag (gtag.js) - Google Analytics