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格式的字符串转换为某个Bean34 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 }
相关推荐
2. **Java对象到JSON的转换**:json-lib支持将Java对象如HashMap、ArrayList等直接转换成JSON格式,如`JSONObject.fromObject()`和`JSONArray.fromObject()`方法。 3. **JSON到Java对象的反序列化**:反之,它也...
`json-lib`库的使用使得Java开发者在处理JSON数据时更加便捷,但需要注意的是,随着Java生态的发展,现在更流行的是使用Jackson、Gson或Google的AutoValue库来处理JSON,它们提供了更多特性和更好的性能。...
2. 创建JSON对象:使用JSON-lib提供的方法将Java对象转化为JSON对象,例如使用`net.sf.json.JSONObject`或`net.sf.json.JSONArray`。 3. 序列化和反序列化:通过`fromObject()`和`toObject()`方法将Java对象序列...
这个压缩包包含了json-lib库的二进制文件,用于在Android和Java平台上解析和生成JSON数据。尽管这个版本是针对JDK 1.5,但json-lib通常兼容更高级别的Java版本,使得它在不同环境下的兼容性较好。 在Java中,json-...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛...通过对`JsonObject.fromObject()`和`JsonArray.fromObject()`方法的熟练使用,开发者可以高效地处理JSON数据,提高代码的可读性和可维护性。
在Java代码中,可以使用`json-lib`提供的API来实现这些功能,比如`net.sf.json.JSONObject`和`net.sf.json.JSONArray`类。 总的来说,`json-lib`是一个强大的JSON处理工具,通过引入"json-lib 所需jar包.rar"中的...
1. **JSON到Java对象转换**:通过JsonNode、JSONArray和JSONObject等类,json-lib可以解析JSON字符串并生成对应的Java对象。例如,一个JSON对象可以被映射为一个HashMap,而一个JSON数组则可以转换为ArrayList。 2....
4. **扩展支持**:如果需要处理自定义类型,可以实现`net.sf.json.JSONObject`和`net.sf.json.JSONArray`的子类,或者使用注解来定制转换规则。 5. **XML与JSON互转**:JSON-lib还提供了XML和JSON之间的转换功能,...
1. **JSON对象和数组的解析与生成**:`json-lib`提供了一系列API,可以将JSON字符串解析成Java对象,如JSONObject和JSONArray,同时也能将Java对象转换成对应的JSON字符串。 2. **数据类型转换**:`json-lib`支持将...
3. 使用`JSONObject`或`JSONArray`等类来创建JSON对象,或者将Java对象转换为JSON。 4. 如果需要,可以利用`fromObject()`和`toObject()`方法在JSON和Java对象之间进行转换。 5. 对于XML和JSON的互转,可以使用`XML....
6. **API使用**:理解JSON-lib提供的核心类,如JSONObject、JSONArray、JSONUtil等,以及它们的方法,是有效使用此库的关键。开发者需要学习如何创建、读取、修改JSON对象和数组,以及如何在Java对象和JSON数据之间...
在使用JSON-lib时,开发者通常会先创建一个JSON对象,如JSONObject或JSONArray,然后通过调用其方法来添加、修改或删除元素。对于复杂的Java对象,可以使用`net.sf.json.JSONObject.fromObject()`和`...
对于更复杂的情况,你可以利用`JSONArray`类来处理JSON数组,或者使用`XMLJSONBean`进行XML与JSON之间的转换。在实际开发中,理解并熟练运用这些功能能极大地提升处理JSON数据的效率。 为了进一步学习和实践,你...
1. `json-lib-<版本>.jar`: 这是Json-lib库的主要jar文件,包含了处理JSON的各种类,如`JSONArray`和`JSONObject`。 2. 可能还有其他依赖的jar包,例如`commons-lang3.jar`(用于语言工具),`commons-beanutils.jar...
7. **API简洁易用**:json-lib的API设计简洁明了,易于理解和使用,比如`JSONArray.fromObject()`和`JSONObject.toBean()`等方法。 总的来说,`json-lib`是一个强大且灵活的JSON处理工具,对于Java开发者来说,无论...
这两个库分别是阿里巴巴的Fastjson和Eclipse的Json-lib。 首先,我们来详细了解一下`com.alibaba.fastjson.JSON`。Fastjson是阿里巴巴开源的一个高性能的JSON库,它的设计目标是处理速度极快,同时也提供了丰富的...
1. 创建JSON对象:可以使用`net.sf.json.JSONObject`和`net.sf.json.JSONArray`类来创建和操作JSON对象。 2. 将Java对象转换为JSON:使用`JSONObject.fromObject()`或`JSONArray.fromObject()`方法将Java对象转换为...
例如,你可以创建一个Java对象,然后使用JSONObject将其转换为JSON: ```java Map, String> map = new HashMap(); map.put("name", "John"); map.put("age", "30"); JSONObject jsonObject = JSONObject.fromObject...
源码中的关键类如`JSONArray`、`JSONObject`、`JSONSerializer`和`JSON怡化器`等提供了丰富的API,是学习JSON处理的好材料。 此外,了解`json-lib`的源码也有助于开发者在遇到问题时快速定位原因,比如解析错误、...
3. **处理数组和集合**:JSON-Lib支持将Java的数组和集合转换为JSONArray,反之亦然。这使得在处理JSON中的数组数据时非常方便。 4. **JSONPath支持**:JSON-Lib还提供了类似XPath的JSONPath,用于查询和提取JSON...