java使用JSONObject实例

 更新时间:2013年11月06日 17:00:09   作者:  
JAVA中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());

        }

相关文章

  • Java 泛型(Generic)简介及用法详解

    Java 泛型(Generic)简介及用法详解

    泛型是一种把类型明确的工作推迟到创建对象或者调用方法的时候才去明确的特殊的类型,参数化类型,把类型当作参数一样的传递,本文给大家介绍Java 泛型(Generic)概述及使用,感兴趣的朋友跟随小编一起看看吧
    2023-10-10
  • SpringBoot整合H2数据库的操作方法

    SpringBoot整合H2数据库的操作方法

    H2是一个Java语言编写的嵌入式数据库,它不受平台的限制,同时H2提供了一个十分方便的web控制台,用于操作和管理数据库内容,本文介绍SpringBoot整合H2数据库的方法,感兴趣的朋友一起看看吧
    2024-01-01
  • Java如何使用Set接口存储没有重复元素的数组

    Java如何使用Set接口存储没有重复元素的数组

    Set是一个继承于Collection的接口,即Set也是集合中的一种。Set是没有重复元素的集合,本篇我们就用它存储一个没有重复元素的数组
    2022-04-04
  • java LinkedList的实例详解

    java LinkedList的实例详解

    这篇文章主要介绍了java LinkedList的实例详解的相关资料,通过本文希望大家能彻底了解掌握这部分内容,需要的朋友可以参考下
    2017-09-09
  • java并发编程中的SynchronousQueue实现原理解析

    java并发编程中的SynchronousQueue实现原理解析

    这篇文章主要介绍了java并发编程中的SynchronousQueue实现原理解析,SynchronousQueue是一个比较特别的队列,此队列源码中充斥着大量的CAS语句,理解起来是有些难度的,为了方便日后回顾,本篇文章会以简洁的图形化方式展示该队列底层的实现原理,需要的朋友可以参考下
    2023-12-12
  • 实例解析观察者模式及其在Java设计模式开发中的运用

    实例解析观察者模式及其在Java设计模式开发中的运用

    观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象,这个主题对象在状态上发生变化时,会通知所有观察者对象,使它们能够自动更新自己.下面就以实例解析观察者模式及其在Java设计模式开发中的运用
    2016-05-05
  • Java 集合概览(小结)

    Java 集合概览(小结)

    这篇文章主要介绍了Java 集合概览(小结),详细的介绍了集合的概念和接口等。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • Mybatis入门教程(四)之mybatis动态sql

    Mybatis入门教程(四)之mybatis动态sql

    这篇文章主要介绍了Mybatis入门教程(四)之mybatis动态sql的相关资料,涉及到动态sql及动态sql的作用知识,本文介绍的非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-09-09
  • Jmeter测试时遇到的各种乱码问题及解决

    Jmeter测试时遇到的各种乱码问题及解决

    这篇文章主要介绍了Jmeter测试时遇到的各种乱码问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • SpringBoot中的bean管理示例详解

    SpringBoot中的bean管理示例详解

    这篇文章主要介绍了SpringBoot中的bean管理,本文结合示例代码给大家讲解的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-06-06

最新评论