前端之家收集整理的这篇文章主要介绍了
fastJson的Demo,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArrayimport com.alibaba.fastjson.JSONObject import java.util.ArrayListimport java.util.HashMapimport java.util.Listimport java.util.Map //下面是FastJson的简介:常用的方法! // Fastjson API入口类是com.alibaba.fastjson.JSON,常用的序列化操作都可以在JSON类上的静态方法直接完成。 // public static final Object parse(String text); // 把文本parse为JSONObject或者JSONArray // public static final JSONObject parSEObject(String text); // 成JSONObject // public static final <T> T parSEObject(String text,Class<T> clazz); // JavaBean // public static final JSONArray parseArray(String text); // // public static final <T> List<T> parseArray(String text,Class<T> clazz); //JavaBean集合 // public static final String toJSONString(Object object); // 将序列化为文本 // public static final String toJSONString(Object object,boolean prettyFormat); // 序列化为带格式的// public static final Object toJSON(Object javaObject); 转换为JSONArray(和上面方法的区别是返回值是不一样的) // JSONObject 相当于Map<Obj,Obj> // JSONArray List<Obj> /** * 这是关于FastJson的一个使用Demo,在Java环境下验证的; * 使用的时候可以参照这个例子进行回忆! 备注:下面写的Json格式的数据"前面的\,意思是告诉编译器忽略掉它后面的。 后面定义有三个类:User、GroupWeibo @author liuzhao */ public class Main3 {
public static void main(String[] args) {
json2JsonObjectM1();Json文本数据信息转换为JsonObject对象,然后利用键值对的方式获取信息 json2BeanM2()文本数据转换为数据! json2JSONArrayM3()json数据转化为JSONArray: json2JavaBeanM4()文本转换为的集合;转换为单纯的1个Object:parSEObject(String text,Class<T> clazz); bean2JsonM5()格式的数据/Json文本 用户数据的传递:例如上传服务器 bean2JSONObjectM6()对象 complexExampleM7()一个相对复杂的例子: complex2JsonM8()一个复杂的到的Demo complexMap2JsonM9()Map数据转换为JsonStringDemo;这个对RedBoy服务端不就直接破了嘛! }
将文本数据信息转换为JsonObject对象,然后利用键值对的方式获取信息 */ private static void json2JsonObjectM1() {
System.out.println("\njson2JsonObjectM1:")一个文本数据 String s = "{\"name:liuzhao}"Json JSONObject object = JSON.parSEObject(s)利用键值对的方式获取到值 System.out.println(object.get("name")) 打印: * liuzhao */ }
文本数据转换为JavaBean数据! 需要注意的是:这时候的文本信息中的键的名称必须和中的字段名称一样!键中没有的在这个中就显示为null! json2BeanM2() {
System.json2BeanM2:") String s = id0375,city平顶山一个简单方便 的方法将文本信息转换为对象的同时转换为对象! Weibo weibo = JSON.parSEObject(s,Weibo.class)//Weibo类在下边定义 out.println(weibo.getId()) System.out.println(weibo.getCity())打印的结果 0375 平顶山 }
Map类型的数据转换为JsonString complexMap2JsonM9() {
System.complexMap2JsonM9:") Group group = new Group() group.setId(1) group.setName("group") User user1 = new User() user1.setId(2) user1.setName("user1") User user2 = user2.setId(3) user2.setName("user2") group.getList().add(user1) group.getList().add(user2) Map<Integernew HashMap<Integer map.put(1"No.1")2"No.2")3 String jsonString = JSON.toJSONString(map)out.println(jsonString)输出:{1:"No.1",2:"No.2",3:[{"id":2,"name":"user1"},{"id":3,"name":"user2"}]} 由一个复杂的Object到的Demo complex2JsonM8() {
System.complex2JsonM8:") String jsonString = JSON.toJSONString(group){"id":1,"list":[{"id":2,"name":"user2"}],"name":"group"} 一个相对复杂的例子: * JSON文本数据: 首先是JSONObject,转换为JSONArray; 然后将转换为JavaBean complexExampleM7() {
System.complexExampleM7:")"{js:[{id:110000北#001京市},{id:#002}" + "," "{id:#006#005120000天#009津市}]}" JSONObject object = JSON.parSEObject(s) Object jsonArray = object.get("js")out.println(jsonArray.getClass().getName()); 输出com.alibaba.fastjson.JSONArray System.out.println(jsonArray) List<Weibo> list = JSON.parseArray(jsonArray+""转化为List<Weibo> for (Weibo weibo : list) {
System. }
}
JSON对象 bean2JSONObjectM6() {
System.bean2JSONObjectM6:") Weibo weibo = new Weibo("0373""洛阳") JSONObject json = (JSONObject) JSON.toJSON(weibo)out.println(json.get("id"))* 0373 文本转换为的集合; 内部实现肯定是:首先转换为,然后再转换为List集合 json2JavaBeanM4() {
System.json2JavaBeanM4:")"[{0377南阳}]" List<Weibo> list = JSON.parseArray(s for (Weibo weibo : list) {
System. }
平顶山 南阳 json数据转化为JSONArray: 注意:获取到之后(我们这里只是获取到而不是集合) 获取中的数据转换为String类型需要在外边加""; json2JSONArrayM3() {
System.json2JSONArrayM3:") JSONArray array = JSON.parseArray(s)这行必须写:必须加上+"";不然会报出类型强转异常! String str = array.get(1)+out.println(array.get(0)) JSONObject object = JSON.parSEObject(str) * {"city":"平顶山","id":"0375"} 0377 }
/Json文本 用户数据的传递:例如上传服务器 bean2JsonM5() {
System.bean2JsonM5:")"123456"上海 String string = JSON.toJSONString(weibo)out.println(string)* {"city":"上海 }
}
class User{
private int id private String name public int getId() {
return }
public void setId(int id) {
this.id = idpublic String getName() {
setName(String name) {
name = name }
}
class Group{
private List<User> list = new ArrayList<User>()public List<User> getList() {
listsetList(List<User> list) {
list = list }
}
class Weibo {
private String city public Weibo(String id this.city = city }
public Weibo() {
}
setId(String id) {
getCity() {
setCity(String city) {
; }
}