`
chenming47
  • 浏览: 94733 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

json-lib包使用总结

    博客分类:
  • json
阅读更多

                                        使用 JSON 的方法

 

JSON JavaScript Object Natation ,它是一种轻量级的数据交换格式,非常适合于服务器与 JavaScript 的交互。本文将快速讲解 JSON 格式,并通过代码示例演示如何分别在客户端和服务器端进行 JSON 格式数据的处理。

 

Json 必需的包

commons-httpclient-4.1.1jar
commons-lang-2.5.jar
commons-logging-1.1.1.jar
json-lib-2.4-jdk15.jar
ezmorph-1.0.6.jar
commons-collections-3.2.1.jar

commons-beanutils-1.8.3.jar

以上包可以从

http://commons.apache.org/index.html

http://json-lib.sourceforge.net/

http://ezmorph.sourceforge.net/

http://morph.sourceforge.net/

http://www.docjar.com/

中下载到。

 

测试类一:

 

    import net.sf.json.JSONArray;  
    import net.sf.json.JSONObject;  
      
    public class JSONObjectSample {  
          
        //创建JSONObject对象  
        private static JSONObject createJSONObject(){  
            JSONObject jsonObject = new JSONObject();  
            jsonObject.put("name", "kevin");  
            jsonObject.put("Max.score", new Integer(100));  
            jsonObject.put("Min.score", new Integer(50));  
            jsonObject.put("nickname", "picglet");  
            return jsonObject;  
        }  
        public static void main(String[] args) {  
            JSONObject jsonObject = JSONObjectSample.createJSONObject();  
            //输出jsonobject对象  
            System.out.println("jsonObject==>"+jsonObject);  
              
            //判读输出对象的类型  
            boolean isArray = jsonObject.isArray();  
            boolean isEmpty = jsonObject.isEmpty();  
            boolean isNullObject = jsonObject.isNullObject();  
            System.out.println("isArray:"+isArray+" isEmpty:"+isEmpty+" isNullObject:"+isNullObject);  
              
            //添加属性  
            jsonObject.element("address", "swap lake");  
            System.out.println("添加属性后的对象==>"+jsonObject);  
              
            //返回一个JSONArray对象  
            JSONArray jsonArray = new JSONArray();  
            jsonArray.add(0, "this is a jsonArray value");  
            jsonArray.add(1,"another jsonArray value");  
            jsonObject.element("jsonArray", jsonArray);  
            JSONArray array = jsonObject.getJSONArray("jsonArray");  
            System.out.println("返回一个JSONArray对象:"+array);  
            //添加JSONArray后的值  
            //{"name":"kevin","Max.score":100,"Min.score":50,"nickname":"picglet","address":"swap lake",  
            //"jsonArray":["this is a jsonArray value","another jsonArray value"]}  
            System.out.println(jsonObject);  
              
            //根据key返回一个字符串  
            String jsonString = jsonObject.getString("name");  
            System.out.println("jsonString==>"+jsonString);  
        }  
    }  
 

测试类二:

 

   import java.util.ArrayList;  
    import java.util.HashMap;  
    import java.util.List;  
    import java.util.Map;  
      
    import net.sf.json.JSONArray;  
    import net.sf.json.JSONObject;  
      
    public class Json {  
        public static void main(String[] args) {  
            Json j = new Json();  
            j.bean2json();  
        }  
      
        public void arr2json() {  
            boolean[] boolArray = new boolean[] { true, false, true };  
            JSONArray jsonArray = JSONArray.fromObject(boolArray);  
            System.out.println(jsonArray);  
            // prints [true,false,true]  
        }  
      
        public void list2json() {  
            List list = new ArrayList();  
            list.add("first");  
            list.add("second");  
            JSONArray jsonArray = JSONArray.fromObject(list);  
            System.out.println(jsonArray);  
            // prints ["first","second"]  
        }  
      
        public void createJson() {  
            JSONArray jsonArray = JSONArray.fromObject("['json','is','easy']");  
            System.out.println(jsonArray);  
            // prints ["json","is","easy"]  
        }  
      
        public void map2json() {  
            Map<String,String> map = HashMap<String,String>()
            map.put("name", "json");  
            map.put("bool", Boolean.TRUE);  
            map.put("int", new Integer(1));  
            map.put("arr", new String[] { "a", "b" });  
            map.put("func", "function(i){ return this.arr[i]; }");  
      
            JSONObject json = JSONObject.fromObject(map);  
            System.out.println(json);  
            // prints  
            // ["name":"json","bool":true,"int":1,"arr":["a","b"],"func":function(i){  
            // return this.arr[i]; }]  
        }  
      
        public void bean2json() {  
            JSONObject jsonObject = JSONObject.fromObject(new MyBean());  
            System.out.println(jsonObject);  
            /* 
             * prints  
             * {"func1":function(i){ return this.options[i]; 
             * },"pojoId":1,"name":"json","func2":function(i){ return 
             * this.options[i]; }} 
             */  
        }  
      
        public void json2bean() {  
            String json = "{name=\"json2\",func1:true,pojoId:1,func2:function(a){ return a; },options:['1','2']}";  
            JSONObject jb = JSONObject.fromString(json);  
            JSONObject.toBean(jb, MyBean.class);  
            System.out.println();  
        }  
        
        public void createAJsonObject(){
             JSONObject jsonObject = new JSONObject();
             jsonObject.element("name", "周星星");
             jsonObject.element("sex", "male");
             jsonObject.element("age", 18);
             jsonObject.element("job", "student");

             System.out.println(jsonObject.get("name"));// 周星星
             System.out.println(jsonObject.get("job"));// student
             System.out.println(jsonObject.getString("sex"));// male
             System.out.println(jsonObject.getInt("age"));// 18
               
             String json = "{name:\"周星星\",sex:\"male\",age:18,job:\"student\"}";

              JSONObject jsonObject = JSONObject.fromObject(json);

              //或者使用 JSONObject jsonObject = (JSONObject) JSONSerializer.toJSON(json);

              System.out.println(jsonObject.get("name"));// 周星星

              System.out.println(jsonObject.get("job"));// student

              System.out.println(jsonObject.getString("sex"));// male

              System.out.println(jsonObject.getInt("age"));// 18
             }

 }  

 

   操作的bean:

 

 

    import net.sf.json.JSONFunction;  
      
    public class MyBean {  
        private String name = "json";  
        private int pojoId = 1;  
        // private char[] options = new char[] { 'a', 'f' };  
        private String func1 = "function(i){ return this.options[i]; }";  
        private JSONFunction func2 = new JSONFunction(new String[] { "i" },  
                "return this.options[i];");  
      
        // getters & setters  
        ......  
    }  
分享到:
评论

相关推荐

    json-lib-2.2.2-jdk15.jar

    总结来说,json-lib-2.2.2-jdk15.jar是JSON处理的一个实用库,适用于Java和Android平台。它的功能包括JSON对象的序列化与反序列化、XML与JSON的互转,以及自定义序列化等。虽然有更新的JSON库出现,但json-lib仍然在...

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

    总结起来,JSON-Lib是一个强大的工具,它为Java开发者提供了一种高效且直观的方式来处理JSON数据。无论是在服务器端还是客户端,它都极大地简化了JSON格式数据的转换工作,从而提高了开发效率并增强了应用程序的功能...

    json-lib包(Java解析JSON的所有依赖包)

    总结来说,`json-lib`是Java开发者处理JSON数据的一个强大工具,提供了一整套解决方案,从JSON字符串的解析到Java对象的转换,以及与其他数据格式的交互。这个资源包包含所有必要的依赖,使得开发者能快速集成和使用...

    json-lib相关所有包

    总结起来,json-lib作为Java开发中的一个强大工具,简化了JSON操作,提高了开发效率。它的全面功能、良好的兼容性和扩展性使其成为处理JSON数据的首选库之一。在实际工作中,根据项目的具体需求,合理利用json-lib的...

    json-lib api

    JSON(JavaScript Object Notation...总结来说,json-lib是一个强大的Java JSON处理库,提供了丰富的API来处理JSON数据。官方的CHM文档是学习和使用该库的重要参考资料,能够帮助开发者快速掌握其用法,提高开发效率。

    json-lib-2.4-jdk15.jar和其他关联的jar包

    总结一下,`json-lib-2.4-jdk15.jar`和`ezmorph-1.0.2.jar`是两个在Java开发中处理JSON数据的关键工具。它们提供了JSON序列化、反序列化、类型转换等功能,对于构建Web服务、API接口以及处理JSON格式的数据交换具有...

    json-lib通用类

    在使用`json-lib`时,你需要导入相关的jar包,并且可以调用其提供的API来进行操作。例如,你可以使用`net.sf.json.JSONObject`类将Java Bean转换为JSON,使用`net.sf.json.util.JSONTokener`解析JSON字符串为Java...

    json-lib-2.2.3-jdk15.jar

    总结起来,`json-lib-2.2.3-jdk15.jar` 是一个针对Java的JSON处理库,适用于Android开发,提供序列化和反序列化功能,以及XML到JSON的转换。了解和正确使用这个库可以简化数据交换,并在不同系统间有效地传递信息。

    json-lib.jar

    总结来说,`json-lib.jar`是一个强大的JSON处理工具,适用于各种Java环境,无论你是新手还是经验丰富的开发者,都能从中受益。它简化了JSON和Java对象之间的交互,提高了开发效率,是Java Web开发中不可或缺的工具之...

    json-lib 序列化和反序列化

    总结一下,`json-lib`是一个强大的工具,它简化了Java与JSON之间的数据转换。无论你是要处理简单的Java对象还是复杂的集合和映射,它都能提供高效且易于使用的API。通过深入学习和实践,你可以充分利用这个库来提升...

    Json-lib的六个jar包

    总结来说,Json-lib的六个JAR包共同构成了一个强大的JSON处理工具集,涵盖了JSON与Java对象之间的相互转换、数据类型转换、集合操作以及日志记录等功能,极大地简化了Java开发者处理JSON数据的工作。在Web服务、...

    struts2 相关jar包 包含json-lib-2.1.jar+struts2-json-plugin-2.1.8.1.jar

    - 引入必要的JAR包,包括struts2-core.jar、json-lib-2.1.jar和struts2-json-plugin-2.1.8.1.jar。 - 配置struts.xml,声明Action及其结果类型。 - 创建Action类并实现需要的方法。 - 在Action方法中返回...

    json-lib用例所需jar包和java类 demo

    总结来说,"json-lib用例所需jar包和java类 demo"是一个关于如何在Java项目中使用json-lib库的示例。它展示了如何将Java对象转换成JSON格式,以及如何从JSON数据还原Java对象,这对于在Web服务和应用程序之间交换...

    Json-lib和其所有依赖包

    找json的关联实在太麻烦了。总结了下。 commons-httpclient-3.1.jar commons-lang-2.4.jar commons-logging-1.1.1.jar json-lib-2.2.3-jdk13.jar ezmorph-1.0.6.jar commons-collections-3.2.1.jar

    json-lib.rar 完整的,经测试了

    总结来说,`json-lib`是Java开发中处理JSON数据的一个强大工具,它提供了丰富的功能,包括对象到JSON的序列化、JSON到对象的反序列化、XML与JSON之间的转换,且支持多种Java对象模型,性能优秀,并且拥有活跃的社区...

    json-lib-2.4-jdk15及其附属jar

    总结起来,`json-lib-2.4-jdk15`是专为JDK15优化的JSON处理库,它提供了将Java对象与JSON进行转换的功能,以及XML与JSON之间的互换。然而,随着技术的发展,现在有更多的高级JSON库可以选择,以满足更高效、更灵活的...

    json_lib 的压缩包

    总结来说,`json-lib`是一个Java开发中的JSON处理工具,它简化了JSON数据与Java对象之间的转换过程。正确地理解和使用`json-lib`,能够帮助你有效地处理Web服务中的数据交换,提高开发效率。在使用时,注意处理好其...

    springmvc-json-lib.rar

    在本例中,"springmvc-json-lib.rar"可能包含了一个完整的SpringMVC项目,其中包含了配置文件、源代码和JSON库的依赖。为了使用这个项目,你需要将其解压,导入到IDE中,配置好项目的依赖,然后就可以运行和调试了。...

    使用json-lib自定义复杂类型转换为Json字符串

    总结起来,`json-lib`通过提供自定义转换功能,使得我们可以根据业务需求对复杂类型进行定制化的JSON转换。通过创建并注册自定义的转换器,可以处理那些标准转换无法满足的场景,提高前后端数据交互的灵活性和准确性...

    JSON-lib-all

    总结来说,JSON-lib-all是Java开发中处理JSON数据的一个综合解决方案,它整合了一系列优秀的开源库,如Ez Morph、Commons Collections、BeanUtils等,使得在Java环境中进行JSON操作变得更加简单和高效。无论是在构建...

Global site tag (gtag.js) - Google Analytics