FastJSon是阿里开发的一款用来解析接送文件的开源框架,其特点是快和小,就是处理速度快和占用内存小,它的使用方法和其他JSon解析框架类似。
FastJson下载地址:Fastjson下载地址。
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。
四、测试
package com.fastjson.learn;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
public class FastJson01 {
public static void main(String[] args) {
JSONObject object = (JSONObject) JSON.parse("{\"name\":\"张三\"}");
System.out.println(object.getString("name"));
JSONArray jsonArr = (JSONArray) JSON
.parse("[{\"name\":\"张三\"},{\"name\":\"李四\"}]");
JSONObject tmpObj = jsonArr.getJSONObject(1);
System.out.println(tmpObj.getString("name"));
List<String> list = new ArrayList<String>();
list.add("1");
list.add("2");
list.add("3");
System.out.println(object.toJSONString(list));
Map<String, String> map = new HashMap<String, String>();
map.put("1", "一");
map.put("2", "二");
map.put("3", "三");
System.out.println(object.toJSONString(map));
List<Map> tmpMap = jsonArr.parseObject(
"[{\"name\":\"张三\"},{\"name\":\"李四\"}]", List.class);
System.out.println(tmpMap.get(1).get("name"));
Person person = new Person();
person.setHigh(180);
person.setName("王二小");
person.setSex("男");
String json1 = object.toJSONString(person);
System.out.println(json1);
Person person1 = (Person) object.parseObject(json1, Person.class);
System.out.println(person1.getHigh());
}
}
class Person {
String name;
String sex;
int high;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getHigh() {
return high;
}
public void setHigh(int high) {
this.high = high;
}
}
五、说明
一些跟高级的特性没有在此次测试中,以后使用到再做具体说明。