Fastjson
常用方法列表
public static Object parse(String text);
public static Object parse(String text, int features);
public static Object parse(String text, Feature... features);
public static JSONObject parseObject(String text, Feature... features);
public static JSONObject parseObject(String text);
public static T parseObject(String text, TypeReference type, Feature... features);
public static T parseObject(String text, Class clazz, Feature... features);
public static T parseObject(String input, Type clazz, Feature... features);
public static T parseObject(String text, Class clazz);
public static JSONArray parseArray(String text);
public static List parseArray(String text, Class clazz);
public static List<Object> parseArray(String text, Type[] types);
public static String toJSONString(Object object);
public static String toJSONString(Object object, SerializerFeature... features);
public static String toJSONStringWithDateFormat(Object object, String dateFormat, SerializerFeature... features);
public static String toJSONString(Object object, boolean prettyFormat);
public static Object toJSON(Object javaObject);
public static T toJavaObject(JSON json, Class clazz);
示例代码(java 1.8)
main
import com.alibaba.fastjson.JSON
import com.alibaba.fastjson.JSONObject
import com.alibaba.fastjson.TypeReference
import java.util.List
public class FastJsonDemo {
public static void main(String[] args){
singleBean()
ArrayBean()
losePropertitesBean()
addPropertitesBean()
complexBean()
genericType()
}
private static void genericType() {
System.out.println("---泛型bean演示---")
String json = "{\"t\":\"t\",\"u\":{\"id\":1,\"name\":\"name\"},\"value\":\"value\"}"
System.out.println(json)
GenericTypeJsonBean parse = JSON
.parseObject(json, new TypeReference>(){})
String t = parse.getT()
System.out.println(t.getClass().getName())
JsonBean u = parse.getU()
System.out.println(u.getClass().getName())
System.out.println(parse)
}
private static void complexBean() {
System.out.println("---复杂bean演示---")
String json = "{\"value\":\"value\",\"jsonBean\":{\"id\":1,\"name\":\"name\"}}"
System.out.println(json)
ComplexJsonBean parse = JSON.parseObject(json, ComplexJsonBean.class)
System.out.println(parse)
}
private static void losePropertitesBean() {
System.out.println("---缺失属性演示---")
String json = "{\"id\":1}"
System.out.println("json-->"+json)
JSONObject jsonObject = JSON.parseObject(json)
System.out.println("jsonObject-->"+jsonObject)
JsonBean jsonBean = JSON.parseObject(json, JsonBean.class)
System.out.println("jsonBean-->"+jsonBean)
System.out.println("fastjson format-->"+JSON.toJSONString(jsonBean, true))
}
private static void addPropertitesBean() {
System.out.println("---多出其他属性演示---")
String json = "{\"id\":1, \"other\":\"othervalue\"}"
System.out.println("json-->"+json)
JSONObject jsonObject = JSON.parseObject(json)
System.out.println("jsonObject-->"+jsonObject)
JsonBean jsonBean = JSON.parseObject(json, JsonBean.class)
System.out.println("jsonBean-->"+jsonBean)
System.out.println("fastjson format-->"+JSON.toJSONString(jsonBean, true))
}
private static void ArrayBean() {
System.out.println("---链表演示---")
String json = "[{\"id\":1,\"name\":\"cs\"},{\"id\":2,\"name\":\"cs2\"}]"
System.out.println("json-->"+json)
List jsonBeans = JSON.parseArray(json, JsonBean.class)
System.out.println("jsonBeans-->"+jsonBeans)
System.out.println("fastjson format-->"+JSON.toJSONString(jsonBeans, true))
}
private static void singleBean() {
System.out.println("---简单bean演示---")
String json = "{\"id\":1,\"name\":\"cs\"}"
System.out.println("json-->"+json)
JSONObject jsonObject = JSON.parseObject(json)
System.out.println("jsonObject-->"+jsonObject)
JsonBean jsonBean = JSON.parseObject(json, JsonBean.class)
System.out.println("jsonBean-->"+jsonBean)
System.out.println("fastjson format-->"+JSON.toJSONString(jsonBean, true))
}
}
ComplexJsonBean
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
@Data
@NoArgsConstructor
@AllArgsConstructor
@ToString
public class ComplexJsonBean {
private String value;
private JsonBean jsonBean;
}
GenericTypeJsonBean
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class GenericTypeJsonBean {
private T t;
private U u;
private String value;
}
JsonBean
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString(of = {"id", "name"})
public class JsonBean {
private int id;
private String name;
}
pom
<dependency>
<groupId>com.alibabagroupId>
<artifactId>fastjsonartifactId>
<version>1.2.8version>
dependency>
<dependency>
<groupId>org.projectlombokgroupId>
<artifactId>lombokartifactId>
<optional>trueoptional>
dependency>
输出结果
---简单bean演示---
json-->{"id":1,"name":"cs"}
jsonObject-->{"name":"cs","id":1}
jsonBean-->JsonBean(id=1, name=cs)
fastjson format-->{
"id":1,
"name":"cs"
}
---链表演示---
json-->[{"id":1,"name":"cs"},{"id":2,"name":"cs2"}]
jsonBeans-->[JsonBean(id=1, name=cs), JsonBean(id=2, name=cs2)]
fastjson format-->[
{
"id":1,
"name":"cs"
},
{
"id":2,
"name":"cs2"
}
]
---缺失属性演示---
json-->{"id":1}
jsonObject-->{"id":1}
jsonBean-->JsonBean(id=1, name=null)
fastjson format-->{
"id":1
}
---多出其他属性演示---
json-->{"id":1, "other":"othervalue"}
jsonObject-->{"other":"othervalue","id":1}
jsonBean-->JsonBean(id=1, name=null)
fastjson format-->{
"id":1
}
---复杂bean演示---
{"value":"value","jsonBean":{"id":1,"name":"name"}}
ComplexJsonBean(value=value, jsonBean=JsonBean(id=1, name=name))
---泛型bean演示---
{"t":"t","u":{"id":1,"name":"name"},"value":"value"}
java.lang.String
com.cs.fastjson.JsonBean
GenericTypeJsonBean(t=t, u=JsonBean(id=1, name=name), value=value)