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));
}
}
分享到:
相关推荐
下面是如何创建和操作JSONArray的例子: ```java import org.json.JSONArray; JSONArray arr = new JSONArray(); arr.put("Apple"); arr.put("Banana"); arr.put("Orange"); ``` 在Java项目中使用JSONObject和...
2. 使用net.sf.json库在Java中创建和操作JSON对象与数组。 3. 将Java对象(如Map和ArrayList)转换为JSON格式。 4. JSON字符串的解析与对象化。 5. 遍历和操作JSON对象的方法。 6. Java的List接口,特别是ArrayList...
4. 考虑性能,尤其是在处理大量数据时,选择高效的JSON库和方法。 5. 对于安全问题,如XSS攻击,要对用户输入的数据进行适当的验证和转义。 在博客链接中(由于实际链接无法访问,这里仅做假设),可能详细介绍了...
在Java中,JSONObject提供了许多方法来创建、修改和访问这些键值对。例如: 1. `put(String key, Object value)`:将一个键值对添加到JSONObject中。 2. `get(String key)`:返回指定键的值,如果键不存在,则返回...
这个库提供了几个核心类,如JSONObject、JSONArray、JSONException和JSONString,帮助开发者方便地进行JSON的解析、创建和序列化。 **JSONObject**: JSONObject是表示JSON对象的类,它由键值对组成,键总是字符串...
这段代码展示了如何创建`JSONObject`和`JSONArray`,以及如何向它们添加数据。`put()`方法用于在`JSONObject`中设置键值对,而在`JSONArray`中添加元素。输出结果将展示JSON数据的结构。 总之,`JSONObject`和`...
`JSONObject`和`JSONArray`是处理JSON数据的常用工具,它们分别对应JSON中的对象和数组。在Java集合框架中,`ArrayList`和泛型`List<T>`是常见的列表实现,泛型提供了更好的类型安全性和编程体验。在现代编程中,...
四、JSONArray对象 `JSONArray`代表JSON中的数组或列表。创建一个`JSONArray`实例并添加元素: ```java JSONArray jsonArray = new JSONArray(); jsonArray.add("this is a jsonArray value"); jsonArray.add(...
在实际开发中,你可能需要将JSONObject和JSONArray相互转换,或者将它们序列化为字符串进行网络传输,或者反序列化为Java对象进行处理。这通常涉及到第三方库,如Apache的`json-lib`,它包含了处理JSON所需的各种...
在代码示例中,我们创建了一个JSONArray对象,并通过构造器的方式以及fromObject方法分别将ArrayList和HashMap对象转换成JSONArray对象。在使用fromObject方法时,需要注意的是,它将每个HashMap对象转换成一个独立...
4. **使用示例**: 创建和操作`JsonObject`和`JsonArray`的实例,通常涉及到解析JSON字符串、获取/设置属性值、遍历数组等操作: ```java // 创建JsonObject并添加属性 JsonObject obj = new JsonObject(); obj.add...
本教程将详细介绍如何使用Volley进行HTTP的GET和POST请求,以及如何处理获取到的String、JsonObject和JsonArray数据。 一、Volley简介 Volley的核心优势在于其强大的缓存机制、线程池管理和请求队列,能有效处理...
总之,`JSONObject`和`JSONArray`是处理JSON数据的核心工具,它们提供了丰富的API用于创建、修改和解析JSON结构。在Java中,利用这些工具可以方便地进行数据序列化和反序列化,实现与前端的高效数据交换。
接下来,代码演示了如何向JSONObject中添加一个新的属性,并通过`getJSONArray()`方法从JSONObject中获取一个JSONArray对象。最后,通过遍历JSONArray,打印出其中的元素。 ### 总结 JSONObject和JSONArray类是处理...
它们提供了丰富的API来解析、创建和操作JSON对象。在这个例子中,我们展示了如何使用`JsonObject`的`getString()`、`getJSONArray()` 等方法来提取JSON对象中的值。理解这些方法的使用,将有助于在实际开发中有效地...
`JSONObject`可以从一个Java对象创建,也可以解析为一个JSON字符串。例如,我们有一个简单的Java对象: ```java public class User { private String name; private int age; // getters and setters } ``` 要...
以下是一个简单的示例,展示了如何创建和操作`JSONArray`: ```java import org.json.JSONArray; import org.json.JSONObject; public class JSONArray_Demo { public static void main(String[] args) { // ...
JsonObject类提供了丰富的API来创建、修改和查询JSON对象。以下是一些关键知识点: 1. **创建JsonObject**:可以使用JSONObject的构造函数创建一个空的对象,或者通过传递一个字符串或Map来初始化一个包含已有数据...
`JSONObject`是`org.json`库中的一个核心类,它提供了创建、读取和修改JSON对象的功能。要使用`JSONObject`,你需要在项目中引入对应的jar包。在提供的压缩包文件中,应该包含了这个必要的依赖。通常,这个jar包可能...