Json-lib使用——JSONObject与JSONArray
(1)示例一
Book book=new Book(); book.setName("Java"); book.setPrice(52.3f); JSONObject object=JSONObject.fromObject(book); System.out.println(object.toString());
(2)示例二
Book book=new Book(); book.setName("Java"); book.setPrice(52.3f); Book book2=new Book(); book2.setName("C"); book2.setPrice(42.3f); List list=new ArrayList(); list.add(book); list.add(book2); JSONArray arry=JSONArray.fromObject(list); System.out.println(arry.toString());
//结果如下:
[{"name":"Java","price":52.3},{"name":"C","price":42.3}]
2.从String到Object
要先用String对象构造一个JSONObject或者JSONArray对象
(1)示例一
String json="{name:'Java',price:52.3}"; JSONObject object=JSONObject.fromObject(json); System.out.println(object.get("name")+" "+object.get("price"));
(2)示例二
String json="[{name:'Java',price:52.3},{name:'C',price:42.3}]"; JSONArray array=JSONArray.fromObject(json); for(int i=0;i<array.size();i++){ Map o=(Map)array.get(i); System.out.println(o.get("name")+" "+o.get("price")); }
3.从String到Bean
(1)单个Bean对象
String json="{name:'Java',price:52.3}"; JSONObject object=JSONObject.fromObject(json); Product product=(Product)JSONObject.toBean(object,Product.class); System.out.println(product.getName()+" "+product.getPrice());
(2).Bean的数组
String json="[{name:'Java',price:52.3},{name:'C',price:42.3}]"; JSONArray array=JSONArray.fromObject(json); Product[] products=(Product[]) JSONArray.toArray(array,Product.class); for(Product p:products){ System.out.println(p.getName()+" "+p.getPrice()); }
自定义封装JSON操作的类
package com.util; import java.util.List; import java.util.Map; import net.sf.json.JSONArray; import net.sf.json.JSONObject; public class JsonHelper { //从普通的Bean转换为字符串 public static String getJson(Object o){ JSONObject jo=JSONObject.fromObject(o); return jo.toString(); } //从Java的列表转换为字符串 public static String getJson(List list){ JSONArray ja=JSONArray.fromObject(list); return ja.toString(); } //从Java对象数组转换为字符串 public static String getJson(Object[] arry){ JSONArray ja=JSONArray.fromObject(arry); return ja.toString(); } //从json格式的字符串转换为Map对象 public static Map getObject(String s){ return JSONObject.fromObject(s); } //从json格式的字符串转换为List数组 public static List getArray(String s){ return JSONArray.fromObject(s); } //从json格式的字符串转换为某个Bean public static Object getObject(String s,Class cls){ JSONObject jo=JSONObject.fromObject(s); return JSONObject.toBean(jo, cls); } //从json格式的字符串转换为某类对象的数组 public static Object getArray(String s,Class cls){ JSONArray ja=JSONArray.fromObject(s); return JSONArray.toArray(ja, cls); } }
相关推荐
2. **Java对象到JSON的转换**:json-lib支持将Java对象如HashMap、ArrayList等直接转换成JSON格式,如`JSONObject.fromObject()`和`JSONArray.fromObject()`方法。 3. **JSON到Java对象的反序列化**:反之,它也...
例如,可以使用`net.sf.json.JSONObject`来表示一个JSON对象,`net.sf.json.JSONArray`表示JSON数组。 2. **灵活性**:它支持多种Java类型到JSON的转换,包括基本类型、集合、Map、自定义类等。同时,也可以将JSON...
3. 使用`JSONObject`或`JSONArray`等类来创建JSON对象,或者将Java对象转换为JSON。 4. 如果需要,可以利用`fromObject()`和`toObject()`方法在JSON和Java对象之间进行转换。 5. 对于XML和JSON的互转,可以使用`XML....
2. 创建JSON对象:使用JSON-lib提供的方法将Java对象转化为JSON对象,例如使用`net.sf.json.JSONObject`或`net.sf.json.JSONArray`。 3. 序列化和反序列化:通过`fromObject()`和`toObject()`方法将Java对象序列...
2. **XML与JSON互转**:json-lib还支持XML与JSON之间的转换,这在处理不同数据格式时非常有用。 3. **自定义序列化**:通过实现JSONAware接口或使用JSONSerializer的transform方法,开发者可以定制JSON序列化过程,...
对于更复杂的情况,你可以利用`JSONArray`类来处理JSON数组,或者使用`XMLJSONBean`进行XML与JSON之间的转换。在实际开发中,理解并熟练运用这些功能能极大地提升处理JSON数据的效率。 为了进一步学习和实践,你...
1. **JSON到Java对象转换**:通过JsonNode、JSONArray和JSONObject等类,json-lib可以解析JSON字符串并生成对应的Java对象。例如,一个JSON对象可以被映射为一个HashMap,而一个JSON数组则可以转换为ArrayList。 2....
6. **API使用**:理解JSON-lib提供的核心类,如JSONObject、JSONArray、JSONUtil等,以及它们的方法,是有效使用此库的关键。开发者需要学习如何创建、读取、修改JSON对象和数组,以及如何在Java对象和JSON数据之间...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛...通过对`JsonObject.fromObject()`和`JsonArray.fromObject()`方法的熟练使用,开发者可以高效地处理JSON数据,提高代码的可读性和可维护性。
然后使用`JSONArray.fromObject()`或`JSONObject.fromObject()`方法将Java对象转换为JSON。 例如,将一个简单的Java Bean转换为JSON: ```java public class Person { private String name; private int age; /...
4. **XML与JSON互转**:除了基本的JSON操作,`json-lib`还提供了XML与JSON之间的转换功能,这对于需要在XML和JSON之间进行数据交换的应用非常有用。 5. **依赖包的集成**:`json-lib-2.3-jdk15`开发包包含了所有...
例如,你可以创建一个Java对象,然后使用JSONObject将其转换为JSON: ```java Map, String> map = new HashMap(); map.put("name", "John"); map.put("age", "30"); JSONObject jsonObject = JSONObject.fromObject...
6. **JSONPath支持**:JSON-Lib提供了一种类似XPath的方式来查询JSON数据,通过`JSONArray jsonArray = JSONPath.eval(jsonObject, "$.path");`可以获取指定路径下的JSON元素。 7. **性能优化**:虽然JSON-Lib功能...
在实际开发中,JSON-Lib通常与其他Java Web框架结合使用,如Spring MVC,以实现RESTful API的数据交换。开发者需要在项目中引入JSON-Lib的jar包,包括主库和其依赖,确保所有必要的类和方法都能被正确加载。 总结...
本篇文章将详细介绍json-lib的使用方法。 首先,json-lib提供了两个主要的功能:JSON对象的生成和解析。对于生成JSON,你可以将Java对象转换为JSON格式,这对于向服务器发送数据或保存配置文件非常有用。例如,一个...
1. `json-lib-2.4-jdk15.jar`:这是主要的库文件,包含`JSONArray`、`JSONObject`等核心类。 2. 其他依赖库,如`commons-beanutils.jar`、`commons-collections.jar`、`commons-lang.jar`和`ezmorph.jar`:这些是`...
6. **过滤和转换**:可以使用`JSONObject.transform()`和`JSONArray.transform()`方法对JSON对象进行转换,例如,过滤或修改某些属性值。 7. **错误处理**:在进行JSON操作时,需要注意可能出现的异常,如`...
2. **Java对象到JSON的转换**:`json-lib`提供了`net.sf.json.JSONObject.fromObject(Object obj)`和`net.sf.json.JSONArray.fromObject(Object obj)`方法,可以将Java的POJO(Plain Old Java Object)对象转换为...
在实际使用`json-lib`时,你可以使用以下方法将Java对象转换为JSON格式: ```java import net.sf.json.JSONObject; import net.sf.json.util.JSONConfig; // 创建一个Java对象 Map, Object> myObject = new ...
源码中的关键类如`JSONArray`、`JSONObject`、`JSONSerializer`和`JSON怡化器`等提供了丰富的API,是学习JSON处理的好材料。 此外,了解`json-lib`的源码也有助于开发者在遇到问题时快速定位原因,比如解析错误、...