Json-lib使用——JSONObject与JSONArray
1.从Object到String
要先用Object对象构造一个JSONObject或者JSONArray对象,然后调用它的toString()方法即可
(1)示例一
1 Book book=new Book();
2 book.setName("Java");
3 book.setPrice(52.3f);
4 JSONObject object=JSONObject.fromObject(book);
5 System.out.println(object.toString());
(2)示例二
复制代码
1 Book book=new Book();
2 book.setName("Java");
3 book.setPrice(52.3f);
4
5 Book book2=new Book();
6 book2.setName("C");
7 book2.setPrice(42.3f);
8 List list=new ArrayList();
9 list.add(book);
10 list.add(book2);
11 JSONArray arry=JSONArray.fromObject(list);
12 System.out.println(arry.toString());
13 //结果如下:
14 [{"name":"Java","price":52.3},{"name":"C","price":42.3}]
复制代码
2.从String到Object
要先用String对象构造一个JSONObject或者JSONArray对象
(1)示例一
1 String json="{name:'Java',price:52.3}";
2 JSONObject object=JSONObject.fromObject(json);
3 System.out.println(object.get("name")+" "+object.get("price"));
(2)示例二
复制代码
1 String json="[{name:'Java',price:52.3},{name:'C',price:42.3}]";
2 JSONArray array=JSONArray.fromObject(json);
3 for(int i=0;i<array.size();i++){
4 Map o=(Map)array.get(i);
5 System.out.println(o.get("name")+" "+o.get("price"));
6 }
复制代码
3.从String到Bean
(1)单个Bean对象
1 String json="{name:'Java',price:52.3}";
2 JSONObject object=JSONObject.fromObject(json);
3 Product product=(Product)JSONObject.toBean(object,Product.class);
4 System.out.println(product.getName()+" "+product.getPrice());
(2).Bean的数组
复制代码
1 String json="[{name:'Java',price:52.3},{name:'C',price:42.3}]";
2 JSONArray array=JSONArray.fromObject(json);
3 Product[] products=(Product[]) JSONArray.toArray(array,Product.class);
4 for(Product p:products){
5 System.out.println(p.getName()+" "+p.getPrice());
6 }
复制代码
自定义封装JSON操作的类
复制代码
1 package com.util;
2
3 import java.util.List;
4 import java.util.Map;
5
6 import net.sf.json.JSONArray;
7 import net.sf.json.JSONObject;
8
9 public class JsonHelper {
10 //从普通的Bean转换为字符串
11 public static String getJson(Object o){
12 JSONObject jo=JSONObject.fromObject(o);
13 return jo.toString();
14 }
15 //从Java的列表转换为字符串
16 public static String getJson(List list){
17 JSONArray ja=JSONArray.fromObject(list);
18 return ja.toString();
19 }
20 //从Java对象数组转换为字符串
21 public static String getJson(Object[] arry){
22 JSONArray ja=JSONArray.fromObject(arry);
23 return ja.toString();
24 }
25 //从json格式的字符串转换为Map对象
26 public static Map getObject(String s){
27 return JSONObject.fromObject(s);
28 }
29 //从json格式的字符串转换为List数组
30 public static List getArray(String s){
31 return JSONArray.fromObject(s);
32 }
33 //从json格式的字符串转换为某个Bean
34 public static Object getObject(String s,Class cls){
35 JSONObject jo=JSONObject.fromObject(s);
36 return JSONObject.toBean(jo, cls);
37 }
38 //从json格式的字符串转换为某类对象的数组
39 public static Object getArray(String s,Class cls){
40 JSONArray ja=JSONArray.fromObject(s);
41 return JSONArray.toArray(ja, cls);
42 }
43 }
分享到:
相关推荐
标签"json java jar JSONArray"进一步确认了这是一个关于Java项目中使用JSON处理的场景,特别是涉及到`JSONArray`的使用,而`jar`则表明我们需要的是一个Java档案文件,这是Java应用程序的可执行组件。 在提供的...
2. **创建JSON对象**:使用`net.sf.json.JSONObject`和`net.sf.json.JSONArray`类来创建JSON对象,并使用它们提供的方法进行操作。 3. **解析JSON**:通过`fromJSON()`方法将JSON字符串解析为Java对象,如`...
1. **JSON对象和数组的创建**:json-lib提供了`net.sf.json.JSONObject`和`net.sf.json.JSONArray`类,可以方便地创建和操作JSON对象和数组。 2. **Java对象到JSON的转换**:json-lib支持将Java对象如HashMap、...
1. **JSON对象的创建与解析**:通过`net.sf.json.JSONObject`类,可以方便地创建和操作JSON对象。例如,你可以将Java Map转换为JSON对象,或者将JSON字符串解析成一个可操作的对象。 2. **JSON数组的处理**:`...
JSONObject jsonObject = (JSONObject) JSONSerializer.toJSON(jsonString); Map, String> deserializedMap = (Map, String>) JSONObject.toBean(jsonObject); ``` 2. **XML与JSON互转**:json-lib还支持XML与JSON...
6. **JSONPath支持**:JSON-Lib提供了一种类似XPath的方式来查询JSON数据,通过`JSONArray jsonArray = JSONPath.eval(jsonObject, "$.path");`可以获取指定路径下的JSON元素。 7. **性能优化**:虽然JSON-Lib功能...
3. 使用`JSONObject`或`JSONArray`等类来创建JSON对象,或者将Java对象转换为JSON。 4. 如果需要,可以利用`fromObject()`和`toObject()`方法在JSON和Java对象之间进行转换。 5. 对于XML和JSON的互转,可以使用`XML....
然后使用`JSONArray.fromObject()`或`JSONObject.fromObject()`方法将Java对象转换为JSON。 例如,将一个简单的Java Bean转换为JSON: ```java public class Person { private String name; private int age; /...
总之,JSONObject和JSONArray是处理JSON数据的关键工具,它们提供了一种直观且便捷的方式来操作JSON对象和数组。确保正确引入对应的jar包或者依赖,可以有效地支持JSON数据的读写,从而提高Java应用的开发效率。
1. `json-lib-2.4-jdk15.jar`:这是主要的库文件,包含`JSONArray`、`JSONObject`等核心类。 2. 其他依赖库,如`commons-beanutils.jar`、`commons-collections.jar`、`commons-lang.jar`和`ezmorph.jar`:这些是`...
为了充分利用这个JSON库,开发者需要了解其API,如`JSONObject`、`JSONArray`等基本类,以及如何使用它们来创建、读取和修改JSON结构。同时,还需要理解如何在Java代码中导入和使用JAR文件,以及如何配置构建工具...
这个版本的库解决了在Java中将Java对象转换为JSON对象以及反向转换的问题,特别是对于特定数据结构如`JsonObject`和`JsonArray`的处理。 描述中提到的`JsonObject.fromObject()`方法是json-lib中用来将一个Java对象...
源码中的关键类如`JSONArray`、`JSONObject`、`JSONSerializer`和`JSON怡化器`等提供了丰富的API,是学习JSON处理的好材料。 此外,了解`json-lib`的源码也有助于开发者在遇到问题时快速定位原因,比如解析错误、...
本项目"json-rpc-java-1.0"提供了JSON-RPC的Java实现,包含`jsonArray`和`jsonObject`等关键组件。 1. JSON基础知识: JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它的基本...
如果你接收到一个JSON字符串,你可以使用`JSONObject.toBean()`或`JSONArray.toList()`方法将它转换回相应的Java对象,如HashMap、ArrayList或其他自定义类的实例。 3. **处理数组和集合**:JSON-Lib支持将Java的...
6. **API使用**:理解JSON-lib提供的核心类,如JSONObject、JSONArray、JSONUtil等,以及它们的方法,是有效使用此库的关键。开发者需要学习如何创建、读取、修改JSON对象和数组,以及如何在Java对象和JSON数据之间...
3. **导入API**: 在Java代码中,你可以导入`net.sf.json.JSONObject`和`net.sf.json.JSONArray`等类来操作JSON数据。例如: ```java import net.sf.json.JSONObject; import net.sf.json.JSONArray; // 创建一...
2. 创建JSON对象:使用JSON-lib提供的方法将Java对象转化为JSON对象,例如使用`net.sf.json.JSONObject`或`net.sf.json.JSONArray`。 3. 序列化和反序列化:通过`fromObject()`和`toObject()`方法将Java对象序列...
在实际开发中,你通常会将这个JAR文件添加到项目的类路径中,以便在程序中调用`json-lib`的功能,如`net.sf.json.JSONObject`、`net.sf.json.JSONArray`等主要类。 `json-lib`库提供了多种方式来处理JSON,例如: ...
- `fromJSON()`:将JSON字符串或JSON对象转换回Java对象,如`JSONObject.toBean(jsonObject)`。 3. **自定义转换**: - 如果需要自定义某些Java类型到JSON的转换,可以通过实现`JsonConfig`类的`...