简介
Fastjson是一个Java语言编写的高性能功能完善的JSON库(由阿里巴巴团队完善开发)。
高性能
fastjson采用独创的算法,将parse的速度提升到极致,超过所有json库,包括曾经号称最快的jackson。并且还超越了google的二进制协议protocol buf。
支持标准
- Fastjson完全支持http://json.org的标准,也是官方网站收录的参考实现之一。
功能强大
- 支持各种JDK类型。包括基本类型、JavaBean、Collection、Map、Enum、泛型等。
- 支持循环引用
无依赖
- 不需要例外额外的jar,能够直接跑在JDK上。
支持范围广
- 支持JDK 5、JDK 6、Android、阿里云手机等环境。
开源
- Apache License 2.0
- 代码托管在github.org上,项目地址是 https://github.com/AlibabaTech/fastjson
测试充分
- fastjson有超过1500个testcase,每次构建都会跑一遍,丰富的测试场景保证了功能稳定。
开源
- jar包及maven地址:http://download.csdn.net/download/cool_summer_moon/10146610
- 或者 http://code.alibabatech.com/mvn/releases/com/alibaba/fastjson/
项目中的引用方法
maven
如果你使用了Maven,maven repository配置如下:
|
pom.xml文件中加入依赖依赖:
|
常用的转换方法:
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}
6、Json 转 Map
见示例3