Fastjson是一个Java语言编写的高性能功能完善的JSON库,由阿里巴巴公司团队开发的
主要特性主要体现在以下几个方面:
1.高性能
fastjson采用独创的算法,将parse的速度提升到极致,超过所有json库,包括曾经号称最快的jackson。并且还超越了google的二进制协议protocol buf。
2.功能强大
支持各种JDK类型。包括基本类型、JavaBean、Collection、Map、Enum、泛型等。
3.无依赖
不需要例外额外的jar,能够直接跑在JDK上。
4.支持范围广
5.开源
jar包及maven地址:http://download.csdn.net/download/cool_summer_moon/10146610
1、String 转 Json
@Test
public void test(){
String str = "{\"age\":\"24\",\"name\":\"cool_summer_moon\"}";
JSONObject jsonObject = JSONObject.parseObject(str);
System.out.println("json对象是:" + jsonObject);
Object object = jsonObject.get("name");
System.out.println("name值是:"+object);
}
运行结果:
json对象是:{"name":"cool_summer_moon","age":"24"}
name值是:cool_summer_moon
2、Json 转 String
@Test
public void test(){
String str = "{\"age\":\"24\",\"name\":\"cool_summer_moon\"}";
JSONObject jsonObject = JSONObject.parseObject(str);
//json对象转字符串
String jsonString = jsonObject.toJSONString();
System.out.println("json字符串是:" + jsonString);
}
运行结果:
json字符串是:{"name":"cool_summer_moon","age":"24"}
3、String 转 Map
@Test
public void test(){
String str = "{\"age\":\"24\",\"name\":\"cool_summer_moon\"}";
JSONObject jsonObject = JSONObject.parseObject(str);
//json对象转Map
Map<String,Object> map = (Map<String,Object>)jsonObject;
System.out.println("map对象是:" + map);
Object object = map.get("age");
System.out.println("age的值是"+object);
}
运行结果:
map对象是:{"name":"cool_summer_moon","age":"24"}
age的值是24
4、Map 转 String
@Test
public void test(){
Map<String,Object> map = new HashMap<>();
map.put("age", 24);
map.put("name", "cool_summer_moon");
String jsonString = JSON.toJSONString(map);
System.out.println("json字符串是:"+jsonString);
}
运行结果:
json字符串是:{"name":"cool_summer_moon","age":24}
5、Map 转 Json
@Test
public void test(){
Map<String,Object> map = new HashMap<>();
map.put("age", 24);
map.put("name", "cool_summer_moon");
JSONObject json = new JSONObject(map);
System.out.println("Json对象是:" + json);
}
运行结果:
Json对象是:{"name":"cool_summer_moon","age":24}
或者 JSONObject itemJSONObj = JSONObject.parseObject(JSON.toJSONString(itemMap));
6、Json 转 Map
Map<String, Object> itemMap = JSONObject.toJavaObject(itemJSONObj, Map.class);
//JOSN.parseObjet()方法同样可以转换
7.将List转换成JSONArray
JSONArray ja = JSONArray.parseArray(JSON.toJSONString(itemList));
8.将JSONArray转换成List
这个涉及功能比较广,有达人整理的更为完善。
链接如下:
http://www.cnblogs.com/goody9807/p/4244862.html
9 json转成对象
List<ChannelItem> channelItemList = JSON.parseArray(itemJson,ChannelItem.class);
10.json字符串转map
String str = "{\"0\":\"zhangsan\",\"1\":\"lisi\",\"2\":\"wangwu\",\"3\":\"maliu\"}"; 16 //第一种方式 17 Map maps = (Map)JSON.parse(str); 18 System.out.println("这个是用JSON类来解析JSON字符串!!!"); 19 for (Object map : maps.entrySet()){ 20 System.out.println(((Map.Entry)map).getKey()+" " + ((Map.Entry)map).getValue()); 21 } 22 //第二种方式 23 Map mapTypes = JSON.parseObject(str); 24 System.out.println("这个是用JSON类的parseObject来解析JSON字符串!!!"); 25 for (Object obj : mapTypes.keySet()){ 26 System.out.println("key为:"+obj+"值为:"+mapTypes.get(obj)); 27 } 28 //第三种方式 29 Map mapType = JSON.parseObject(str,Map.class); 30 System.out.println("这个是用JSON类,指定解析类型,来解析JSON字符串!!!"); 31 for (Object obj : mapType.keySet()){ 32 System.out.println("key为:"+obj+"值为:"+mapType.get(obj)); 33 } 34 //第四种方式 35 /** 36 * JSONObject是Map接口的一个实现类 37 */ 38 Map json = (Map) JSONObject.parse(str); 39 System.out.println("这个是用JSONObject类的parse方法来解析JSON字符串!!!"); 40 for (Object map : json.entrySet()){ 41 System.out.println(((Map.Entry)map).getKey()+" "+((Map.Entry)map).getValue()); 42 } 43 //第五种方式 44 /** 45 * JSONObject是Map接口的一个实现类 46 */ 47 JSONObject jsonObject = JSONObject.parseObject(str); 48 System.out.println("这个是用JSONObject的parseObject方法来解析JSON字符串!!!"); 49 for (Object map : json.entrySet()){ 50 System.out.println(((Map.Entry)map).getKey()+" "+((Map.Entry)map).getValue()); 51 } 52 //第六种方式 53 /** 54 * JSONObject是Map接口的一个实现类 55 */ 56 Map mapObj = JSONObject.parseObject(str,Map.class); 57 System.out.println("这个是用JSONObject的parseObject方法并执行返回类型来解析JSON字符串!!!"); 58 for (Object map: json.entrySet()){ 59 System.out.println(((Map.Entry)map).getKey()+" "+((Map.Entry)map).getValue()); 60 } 61 String strArr = "{{\"0\":\"zhangsan\",\"1\":\"lisi\",\"2\":\"wangwu\",\"3\":\"maliu\"}," + 62 "{\"00\":\"zhangsan\",\"11\":\"lisi\",\"22\":\"wangwu\",\"33\":\"maliu\"}}"; 63 // JSONArray.parse() 64 System.out.println(json);