`
eric_hwp
  • 浏览: 125959 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

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格式的字符串转换为某个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 }
<!-- Baidu Button BEGIN -->
分享到:
评论

相关推荐

    json-lib-2.4-jdk15.jar

    2. **Java对象到JSON的转换**:json-lib支持将Java对象如HashMap、ArrayList等直接转换成JSON格式,如`JSONObject.fromObject()`和`JSONArray.fromObject()`方法。 3. **JSON到Java对象的反序列化**:反之,它也...

    json-lib-2.4-jdk15.jar及其相关依赖

    `json-lib`库的使用使得Java开发者在处理JSON数据时更加便捷,但需要注意的是,随着Java生态的发展,现在更流行的是使用Jackson、Gson或Google的AutoValue库来处理JSON,它们提供了更多特性和更好的性能。...

    json-lib-2.2.3-jdk15.jar

    2. 创建JSON对象:使用JSON-lib提供的方法将Java对象转化为JSON对象,例如使用`net.sf.json.JSONObject`或`net.sf.json.JSONArray`。 3. 序列化和反序列化:通过`fromObject()`和`toObject()`方法将Java对象序列...

    json-lib-2.2.2-jdk15.jar

    这个压缩包包含了json-lib库的二进制文件,用于在Android和Java平台上解析和生成JSON数据。尽管这个版本是针对JDK 1.5,但json-lib通常兼容更高级别的Java版本,使得它在不同环境下的兼容性较好。 在Java中,json-...

    json-lib-2.3.jar

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛...通过对`JsonObject.fromObject()`和`JsonArray.fromObject()`方法的熟练使用,开发者可以高效地处理JSON数据,提高代码的可读性和可维护性。

    json-lib 所需jar包.rar

    在Java代码中,可以使用`json-lib`提供的API来实现这些功能,比如`net.sf.json.JSONObject`和`net.sf.json.JSONArray`类。 总的来说,`json-lib`是一个强大的JSON处理工具,通过引入"json-lib 所需jar包.rar"中的...

    json-lib-2.4和相应的依赖包

    1. **JSON到Java对象转换**:通过JsonNode、JSONArray和JSONObject等类,json-lib可以解析JSON字符串并生成对应的Java对象。例如,一个JSON对象可以被映射为一个HashMap,而一个JSON数组则可以转换为ArrayList。 2....

    json-lib应用所有jar

    4. **扩展支持**:如果需要处理自定义类型,可以实现`net.sf.json.JSONObject`和`net.sf.json.JSONArray`的子类,或者使用注解来定制转换规则。 5. **XML与JSON互转**:JSON-lib还提供了XML和JSON之间的转换功能,...

    json-lib-2.4(2013.6.13前最新版本)选定版

    1. **JSON对象和数组的解析与生成**:`json-lib`提供了一系列API,可以将JSON字符串解析成Java对象,如JSONObject和JSONArray,同时也能将Java对象转换成对应的JSON字符串。 2. **数据类型转换**:`json-lib`支持将...

    json-lib-2.4-jdk15和全部依赖jar包

    3. 使用`JSONObject`或`JSONArray`等类来创建JSON对象,或者将Java对象转换为JSON。 4. 如果需要,可以利用`fromObject()`和`toObject()`方法在JSON和Java对象之间进行转换。 5. 对于XML和JSON的互转,可以使用`XML....

    JSON-lib包json-lib-0.8.jar和json-lib-0.9.jar包

    6. **API使用**:理解JSON-lib提供的核心类,如JSONObject、JSONArray、JSONUtil等,以及它们的方法,是有效使用此库的关键。开发者需要学习如何创建、读取、修改JSON对象和数组,以及如何在Java对象和JSON数据之间...

    json-lib-2.3-jdk15-sources javadoc .jar

    在使用JSON-lib时,开发者通常会先创建一个JSON对象,如JSONObject或JSONArray,然后通过调用其方法来添加、修改或删除元素。对于复杂的Java对象,可以使用`net.sf.json.JSONObject.fromObject()`和`...

    基于json-lib.jar包 JSONObject-Java常用的四种用法

    对于更复杂的情况,你可以利用`JSONArray`类来处理JSON数组,或者使用`XMLJSONBean`进行XML与JSON之间的转换。在实际开发中,理解并熟练运用这些功能能极大地提升处理JSON数据的效率。 为了进一步学习和实践,你...

    JSON(net.sf.json.JSONArray)需要的jar包

    1. `json-lib-&lt;版本&gt;.jar`: 这是Json-lib库的主要jar文件,包含了处理JSON的各种类,如`JSONArray`和`JSONObject`。 2. 可能还有其他依赖的jar包,例如`commons-lang3.jar`(用于语言工具),`commons-beanutils.jar...

    json-lib-2.3-jdk15.jar和它的源码包

    7. **API简洁易用**:json-lib的API设计简洁明了,易于理解和使用,比如`JSONArray.fromObject()`和`JSONObject.toBean()`等方法。 总的来说,`json-lib`是一个强大且灵活的JSON处理工具,对于Java开发者来说,无论...

    com.alibaba.fastjson.JSON , net.sf.json.JSONObject

    这两个库分别是阿里巴巴的Fastjson和Eclipse的Json-lib。 首先,我们来详细了解一下`com.alibaba.fastjson.JSON`。Fastjson是阿里巴巴开源的一个高性能的JSON库,它的设计目标是处理速度极快,同时也提供了丰富的...

    json-lib-2.2.3-jdk15.jar 相关jar包

    1. 创建JSON对象:可以使用`net.sf.json.JSONObject`和`net.sf.json.JSONArray`类来创建和操作JSON对象。 2. 将Java对象转换为JSON:使用`JSONObject.fromObject()`或`JSONArray.fromObject()`方法将Java对象转换为...

    json-lib.jar

    例如,你可以创建一个Java对象,然后使用JSONObject将其转换为JSON: ```java Map, String&gt; map = new HashMap(); map.put("name", "John"); map.put("age", "30"); JSONObject jsonObject = JSONObject.fromObject...

    json-lib-2.4-jdk15-sources.jar

    源码中的关键类如`JSONArray`、`JSONObject`、`JSONSerializer`和`JSON怡化器`等提供了丰富的API,是学习JSON处理的好材料。 此外,了解`json-lib`的源码也有助于开发者在遇到问题时快速定位原因,比如解析错误、...

    json-lib-2.4-jdk15及其依赖jar包

    3. **处理数组和集合**:JSON-Lib支持将Java的数组和集合转换为JSONArray,反之亦然。这使得在处理JSON中的数组数据时非常方便。 4. **JSONPath支持**:JSON-Lib还提供了类似XPath的JSONPath,用于查询和提取JSON...

Global site tag (gtag.js) - Google Analytics