zoukankan      html  css  js  c++  java
  • Json-lib用法

    Json-lib用法

    1、需要的jar包有一下几个,别的文章中没有xom这个jar包,但我的工程中如果没有这个包,那么,json数据转换为xml数据的程序中在执行XMLSerializer xmlSerializer = new XMLSerializer(); 语句时会报错找不到xom包。

     

     

     

    2、相关程序部分,这里都使用JUnit中的@Test方法演示测试

     

    ① 将字符串数组转换为JSON

           代码如下:

    @Test

    public void test(){

    String[] boolArray = new String[]{"zhangsan","ai","lisi"};

        JSONArray jsonArray = JSONArray.fromObject(boolArray);

        System.out.println(jsonArray);

    }

    输出结果如下:

    ["zhangsan","ai","lisi"]

    ②  将Map转换为JSON

    代码如下:

    @Test

    public void test2(){

    Map<Object, Object> map = new HashMap();

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

    }

    输出结果如下:

    {"arr":["a","b"],"int":1,"name":"json","func":function(i){return this.arr[i];},"bool":true}

    ③ 将JSON转换为XML

        代码如下:

        @Test

    public void test3(){    

            JSON json = JSONSerializer.toJSON("{'username':'gaoa4aaaa', 'password':'haha',  'nested':{'f':4, 'ss':33}}");  

            XMLSerializer xmlSerializer = new XMLSerializer(); 

            xmlSerializer.setTypeHintsEnabled( false );      

            xmlSerializer.setRootName("body" );     

            String xml = xmlSerializer.write( json );     

            System.out.println(xml);  

    }

    输出结果如下:

    <?xml version="1.0" encoding="UTF-8"?>

    <body><nested><f>4</f><ss>33</ss></nested><password>haha</password><usernam e>gaoa4aaaa</username></body>

    ④ 将JavaBean转换为JSON

    代码如下://BeanToJson是一个JavaBean组件,有nameage两个属性

    @Test

    public void test5(){

    BeanToJson bean = new BeanToJson(); bean.setAge(20);

    bean.setName("lisi");

    JSONObject jsonObject = JSONObject.fromObject(bean);

    System.out.println(jsonObject.get("age"));

    }

    输出结果如下:

    20

     

  • 相关阅读:
    java 多线程 一个博客
    akka 入门
    java fork-join框架应用和分析
    基于队列的线程池
    Java线程:新特征-有返回值的线程
    学不好java,仅仅怪你不知道自己错在哪
    hibernate中session的产生方式(openSession、getCurrentSession)
    Leetcode--Best Time to Buy and Sell Stock III
    HDU 1733 Escape(分层网络流)
    儿子关于棒棒糖的诺言
  • 原文地址:https://www.cnblogs.com/xinong330/p/3448397.html
Copyright © 2011-2022 走看看