Java Json解析

一、Json

(1)语法

a.名称/值对数据表示
b.大括号持有的对象和每个名称后跟“:”(冒号),名称/值对的分离,(逗号)。

c.方括号持有数组和值,(逗号)分隔。


(2)数据类型

JSON格式支持的数据类型有以下:

类型描述
Number在JavaScript中的双精度浮点格式
String双引号的反斜杠转义的Unicode
Booleantrue 或 false
Array值的有序序列
Value它可以是一个字符串,一个数字,真的还是假(true/false),空(null )等
Object无序集合键值对
Whitespace可以使用任何一对中的令牌
nullempty


二、java的json-lib

(1)Maven

<dependency>
    <groupId>net.sf.json-lib</groupId>
    <artifactId>json-lib</artifactId>
    <version>2.4</version>
</dependency>

(2)实例

A、Array、Collection、String转 JsonArray

boolean[] boolArray = new boolean[]{true,false,true};  
JSONArray jsonArray = JSONArray.fromObject( boolArray );  
System.out.println( jsonArray );  
// prints [true,false,true]  


JSONArray jsonArray = JSONArray.fromObject( "['json','is','easy']" );  
System.out.println( jsonArray );  
// prints ["json","is","easy"]  


B、Map、Object 转JsonObject
Map 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 jsonObject = JSONObject.fromObject( map );  
System.out.println( jsonObject );  
// prints ["name":"json","bool":true,"int":1,"arr":["a","b"],"func":function(i){ return this.arr[i]; }] 


C、JsonObject 转 Bean

String json = "{bool:true,integer:1,string:\"json\"}";  
JSONObject jsonObject = JSONObject.fromObject( json );  
BeanA bean = (BeanA) JSONObject.toBean( jsonObject, BeanA.class );  
assertEquals( jsonObject.get( "bool" ), Boolean.valueOf( bean.isBool() ) );  
assertEquals( jsonObject.get( "integer" ), new Integer( bean.getInteger() ) );  
assertEquals( jsonObject.get( "string" ), bean.getString() );  


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值