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

     

  • 相关阅读:
    C#磁吸屏幕窗体类库
    准备
    我写的诗
    How to turn off a laptop keyboard
    How to tell which commit a tag points to in Git?
    Why should I care about lightweight vs. annotated tags?
    How to get rid of “would clobber existing tag”
    Facebook, Google and Twitter threaten to leave Hong Kong over privacy law changes
    The need for legislative reform on secrecy orders
    Can a foreign key be NULL and/or duplicate?
  • 原文地址:https://www.cnblogs.com/xinong330/p/3448397.html
Copyright © 2011-2022 走看看