• JSONObject


    一、引入jar包

      使用JSONObject必须引用JSON-lib.jar,同时它还依赖于其他包

    •   common-lang.jar
    •   common-beanuitls.jar
    •   common-collections.jar
    •   common-logging.jar
    •   ezmorph.jar

    二、JSONObject对象使用

      JSON-lib包是一个java对象、xml、JSON互相转换的包。

      1.将Java对象转换成 json字符串

    Person p1=new Person();
    p1.setName("刘大江");
    p1.setAge(26);
    
    String jsonStr=JSONObject.fromObject(p1).toString();

      2.将Java 集合转换成 json字符串

            Person p1=new Person();p1.setName("A1");p1.setAge(26);
            Person p2=new Person();p2.setName("A2");p2.setAge(23);
            
            List personList=new ArrayList<Person>();
            personList.add(p1);
            personList.add(p2);
            
            Map personMap=new HashMap<String, Person>();
            personMap.put("p1", p1);
            personMap.put("p2", p2);
            
            //[{"age":26,"name":"A1"},{"age":23,"name":"A2"}]
            JSONArray.fromObject(personList).toString();
         JSONSerializer.toJSON(personList)
    //[{"p2":{"name":"A2","age":23},"p1":{"name":"A1","age":26}}] JSONArray.fromObject(personMap).toString();
         JSONSerializer.toJSON(personMap)

      3.将json字符串转换成动态Java对象

      

         String jsonStr="[{"name":"A2","age":23},{"name":"A1","age":26}]";
            JSONArray ja=JSONArray.fromObject(jsonStr);
            
            for(int i=0;i<ja.size();i++){
                JSONObject jo= ja.getJSONObject(i); //转换成JSONObject对象
                System.out.println(jo.get("name"));
                
                Person p=(Person)JSONObject.toBean(jo,Person.class);    //转换成JavaBean
                System.out.println(p.getName()); 
                 
            }
  • 相关阅读:
    互斥锁Mutex与信号量Semaphore的区别
    c/c++强制类型转换
    c++中的隐藏、重载、覆盖(重写)
    运算符重载详解
    类的大小
    C++ static、const和static const 以及它们的初始化
    一种隐蔽性较高的Java ConcurrentModificationException异常场景
    Java编码常见的Log日志打印问题
    Java编程常见缺陷汇总(一)
    Java字符串连接的多种实现方法及效率对比
  • 原文地址:https://www.cnblogs.com/DajiangDev/p/3408611.html
Copyright © 2020-2023  润新知