Fastjson介绍
Fastjson是一个Java语言编写的JSON处理器,由阿里巴巴公司开发。
1、遵循http://json.org标准,为其官方网站收录的参考实现之一。
2、功能qiang打,支持JDK的各种类型,包括基本的JavaBean、Collection、Map、Date、Enum、泛型。
3、无依赖,不需要例外额外的jar,能够直接跑在JDK上。
4、开源,使用Apache License 2.0协议开源。http://code.alibabatech.com/wiki/display/FastJSON/Home
5、具有超高的性能,java世界里没有其他的json库能够和fastjson可相比了。
pom,xml添加Fastjson
<!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.31</version>
</dependency>
使用介绍:
Fastjson的最主要的使用入口是com.alibaba.fastjson.JSON
import com.alibaba.fastjson.JSON;
public static final Object parse(String text); // 把JSON文本parse为JSONObject或者JSONArray
public static final JSONObject parseObject(String text); // 把JSON文本parse成JSONObject
public static final <T> T parseObject(String text, Class<T> clazz); // 把JSON文本parse为JavaBean
public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray
public static final <T> List<T> parseArray(String text, Class<T> clazz); //把JSON文本parse成JavaBean集合
public static final String toJSONString(Object object); // 将JavaBean序列化为JSON文本
public static final String toJSONString(Object object, boolean prettyFormat); // 将JavaBean序列化为带格式的JSON文本
public static final Object toJSON(Object javaObject); 将JavaBean转换为JSONObject或者JSONArray。
栗子
@Test
public void testjson(){
User guestUser = new User();
guestUser.setId(2L);
guestUser.setName("guest");
System.err.println("JSON.toJSONString()==="+JSON.toJSONString(guestUser));//javaBean-->Json String
String usrJsontext=JSON.toJSONString(guestUser);
User user=JSON.parseObject(usrJsontext,User.class);//Json String-->javaBean
System.err.println("JSON.parseObject()==="+user.getName());
JSONObject jsonObject= (JSONObject) JSON.parse(usrJsontext);//Json String-->jsonObject 或者jsonArray
System.err.println("JSON.parse()==="+jsonObject.get("name"));
JSONObject jsonObject2= JSON.parseObject(usrJsontext);//Json String-->jsonObject
System.err.println("JSON.parseObject()==="+jsonObject.get("name"));
}
/**
* json字符串转化为map
* @param s
* @return
*/
public Map stringToMap(String s) {
Map m = JSONObject.parseObject(s,Map.class);
return m;
}
/**
* 将map转化为string
* @param m
* @return
*/
public String mapToString(Map m) {
String s = JSONObject.toJSONString(m);
return s;
}
fastjson ***MQ工具类中的使用***
public <T> T getMessageNew(Class<T> clazz) {
String queueName=getMqMessageQueue(clazz);
Message message=amqpTemplate.receive(queueName,5000);
System.err.println("message======"+message);
// T value=JSON.parseObject(message.getBody(), clazz, Feature.UseBigDecimal);
T value = JSONObject.parseObject(message.getBody(), clazz);
return value;
}
gson和JavaBean之间的转换