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

 

转载于:https://www.cnblogs.com/xinong330/p/3448397.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值