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());

        }

相关文章

  • RabbitMQ中的Channel和Exchange详解

    RabbitMQ中的Channel和Exchange详解

    这篇文章主要介绍了RabbitMQ中的Channel和Exchange详解,创建和销毁TCP连接很耗时,打开太多TCP连接,耗操作系统资源,并发量大到一定程度,系统的吞吐量会降低,使用一个connection多channel的方式,可以提升连接的利用率,需要的朋友可以参考下
    2023-08-08
  • springboot如何使用@Value获取配置文件的值

    springboot如何使用@Value获取配置文件的值

    这篇文章主要介绍了springboot如何使用@Value获取配置文件的值,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • 浅析Spring IOC bean为什么默认是单例

    浅析Spring IOC bean为什么默认是单例

    单例的意思就是说在 Spring IoC 容器中只会存在一个 bean 的实例,无论一次调用还是多次调用,始终指向的都是同一个 bean 对象,本文小编将和大家一起分析Spring IOC bean为什么默认是单例,需要的朋友可以参考下
    2023-12-12
  • JAVA module-info.java文件详解

    JAVA module-info.java文件详解

    这篇文章主要介绍了JAVA module-info.java文件详解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • Java中的CopyOnWriteArrayList原理详解

    Java中的CopyOnWriteArrayList原理详解

    这篇文章主要介绍了Java中的CopyOnWriteArrayList原理详解,如源码所示,CopyOnWriteArrayList和ArrayList一样,都在内部维护了一个数组,操作CopyOnWriteArrayList其实就是在操作内部的数组,需要的朋友可以参考下
    2023-12-12
  • java中字符串转整数及MyAtoi方法的实现

    java中字符串转整数及MyAtoi方法的实现

    这篇文章主要介绍了java中字符串转整数及MyAtoi方法的实现的相关资料,需要的朋友可以参考下
    2017-05-05
  • Spring Boot中lombok的安装与使用详解

    Spring Boot中lombok的安装与使用详解

    这篇文章主要给大家介绍了关于Spring Boot中lombok安装与使用的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-09-09
  • Java如何执行cmd命令

    Java如何执行cmd命令

    这篇文章主要介绍了Java如何执行cmd命令问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • Spring轻松解决循环依赖

    Spring轻松解决循环依赖

    Spring的解决循环依赖是有前置条件的,要解决循环依赖我们首先要了解Spring Bean对象的创建过程和依赖注入的方式。依赖注入方式,我之前的博客有所分享,大家可以在看本篇文章之前进行一下小小的回顾
    2023-04-04
  • 高可用架构etcd选主故障主备秒级切换实现

    高可用架构etcd选主故障主备秒级切换实现

    这篇文章主要为大家介绍了高可用架构etcd选主故障主备秒级切换的实现,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-02-02

最新评论