浅谈fastjson的常用使用方法
程序员文章站
2024-03-13 13:02:09
如下所示:
package demo;
import java.util.arraylist;
import java.util.collection;...
如下所示:
package demo; import java.util.arraylist; import java.util.collection; import java.util.date; import java.util.hashmap; import java.util.list; import java.util.vector; import com.alibaba.fastjson.json; import com.alibaba.fastjson.jsonarray; import com.alibaba.fastjson.jsonobject; import com.alibaba.fastjson.serializer.serializerfeature; import entity.userinfo; /** * fastjson 是一个性能很好的 java 语言实现的 json 解析器和生成器,来自阿里巴巴的工程师开发。 主要特点: * 1.快速fast(比其它任何基于java的解析器和生成器更快,包括jackson) 强大(支持普通jdk类包括任意java bean * 2.class、collection、map、date或enum) 零依赖(没有依赖其它任何类库除了jdk) * */ public class testfastjson { public static void main(string[] args) { string json = "{\"name\":\"chenggang\",\"age\":24}"; string arrayayy = "[[\'马云',50],null,[\'马化腾',30]]"; // entity2json("zhangsan", 24); // list2json(); complexdata(); // deserialization(json); // dateformate(new date()); // json2eetity(json); // string2jsonarray(arrayayy); } // 实体转为json public static void entity2json(string name, int age) { userinfo info = new userinfo(name, age); string str_json = json.tojsonstring(info); // system.out.println("实体转化为json" + str_json); } // list转json public static void list2json() { list<userinfo> list = new arraylist<userinfo>(); userinfo userinfo1 = new userinfo("lisi", 15); userinfo userinfo2 = new userinfo("wangwu", 16); list.add(userinfo1); list.add(userinfo2); string json = json.tojsonstring(list, true); system.out.println("list集合转json格式字符串 :" + json); } // 字符数组转化为json private static void string2jsonarray(string arrayayy) { jsonarray array = jsonarray.parsearray(arrayayy); system.out.println("数组:" + array); system.out.println("数组长度: " + array.size()); collection nucon = new vector(); nucon.add(null); array.removeall(nucon); system.out.println("数组:" + array); system.out.println("数组长度: " + array.size()); } // 复杂数据类型 public static void complexdata() { hashmap<string, object> map = new hashmap<string, object>(); map.put("username", "zhangsan"); map.put("age", 24); map.put("sex", "男"); // map集合 hashmap<string, object> temp = new hashmap<string, object>(); temp.put("name", "xiaohong"); temp.put("age", "23"); map.put("girlinfo", temp); // list集合 list<string> list = new arraylist<string>(); list.add("爬山"); list.add("骑车"); list.add("旅游"); map.put("hobby", list); string jsonstring = json.tojsonstring(map); system.out.println("复杂数据类型:" + jsonstring); } public static void deserialization(string json) { userinfo userinfo = json.parseobject(json, userinfo.class); system.out.println("姓名是:" + userinfo.getname() + ", 年龄是:" + userinfo.getage()); } // 格式话日期 public static void dateformate(date date) { system.out.println("输出毫秒值:" + json.tojsonstring(date)); system.out.println("默认格式为:" + json.tojsonstring(date, serializerfeature.writedateusedateformat)); system.out.println("自定义日期:" + json.tojsonstringwithdateformat(date, "yyyy-mm-dd", serializerfeature.writedateusedateformat)); } // json转为实体 private static void json2eetity(string json) { userinfo userinfo = json.parseobject(json, userinfo.class); system.out.println("输出对象的地址:" + userinfo.tostring()); system.out.println("输出对象的名字:" + userinfo.getname()); } }
以上demo所用到的实体类:
package entity; public class userinfo { private static final long serialversionuid = 1l; private string name; private int age; public userinfo() { super(); } public userinfo(string name, int age) { super(); this.name = name; this.age = age; } public void setname(string name) { this.name = name; } public string getname() { return name; } public void setage(int age) { this.age = age; } public int getage() { return age; } }
以上这篇浅谈fastjson的常用使用方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
上一篇: 轻松掌握Java观察者模式