FastJson学习笔记
来源:互联网 发布:saa7130监控软件 编辑:程序博客网 时间:2024/05/27 18:17
1.测试实体类
/** * * @Description: 测试 * @date 2017年7月12日 下午6:04:09 * @version V1.0 */public class Person { /** * 姓名 */ private String name; /** * 年龄 */ private Integer age; /** * 地址 */ private String address; /** * 电话 */ private String tellphone; public Person(){} /** * @param name * @param age */ public Person(String name, Integer age) { super(); this.name = name; this.age = age; } public Person(String name, Integer age, String address, String tellphone) { this.name = name; this.age = age; this.address = address; this.tellphone = tellphone; } /** * @return the name */ public String getName() { return name; } /** * @param name * the name to set */ public void setName(String name) { this.name = name; } /** * @return the age */ public Integer getAge() { return age; } /** * @param age * the age to set */ public void setAge(Integer age) { this.age = age; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public String getTellphone() { return tellphone; } public void setTellphone(String tellphone) { this.tellphone = tellphone; } @Override public String toString() { return "Person [name=" + name + ", age=" + age + "]"; }}
2.FastJson常用API
/** * com.alibaba.fastjson.JSON; * This is the main class for using Fastjson * You usually call these two methods toJSONString(Object) and parseObject(String, Class). */public class FastJsonTest { /** * deserializes json into model */ public void jsonToModel(){ StringBuilder jsonBuilder = new StringBuilder(128); jsonBuilder.append("{\"name\":\"xiaoming\",\"age\":\"25\"}"); Person person = JSON.parseObject(jsonBuilder.toString(),Person.class); System.out.println(person); // Person [name=xiaoming, age=25] } /** * the object that your are serializing/deserializing is a ParameterizedType * then you must use the parseObject(String, Type, Feature[]) method */ public void jsonToList(){ StringBuilder jsonBuilder = new StringBuilder(128); jsonBuilder.append("["); jsonBuilder.append("{\"name\":\"Tom\",\"age\":\"23\"},"); jsonBuilder.append("{\"name\":\"Cat\",\"age\":\"21\"}"); jsonBuilder.append("]"); Type type = new TypeReference<List<Person>>() {}.getType(); // This method deserializes the specified Json into an object of the specified type. // This method is useful if the specified object is a generic type(泛型) // For non-generic objects, use parseObject(String, Class, Feature[]) instead List<Person> list = JSON.parseObject(jsonBuilder.toString(), type); for(Person p : list){ System.out.println(p); } // Person [name=Tom, age=23] // Person [name=Cat, age=21] } public void jsonToMap(){ StringBuilder jsonBuilder = new StringBuilder(128); jsonBuilder.append("{\"name\":\"xiaoming\",\"age\":\"25\"}"); Type type = new TypeReference<Map<String, Object>>() {}.getType(); Map map = JSON.parseObject(jsonBuilder.toString(), type); System.out.println(map); //{name=xiaoming, age=25} } /** * serializes model to Json */ public void modelToJson(){ String json = JSON.toJSONString(new Person("tocmat",22)); System.out.println(json); // {"age":22,"name":"tocmat"} //格式化 System.out.println(JSON.toJSONString(new Person("测试",25),true)); /** * { "age":25, "name":"测试" } */ } /** * 集合转json字符串 */ public void listToJson(){ Person one = new Person("Tom",21); Person two = new Person("Cat",25); List<Person> list = new ArrayList<>(); list.add(one); list.add(two); String json = JSON.toJSONString(list,true); System.out.println(json); /** [ { "age":21, "name":"Tom" }, { "age":25, "name":"Cat" } ] */ } /** * 自定义反序列化 */ public void customerJsonToObject(){ // Feature.AllowSingleQuotes 允许单引号 默认已使用 // Feature.AllowUnQuotedFieldNames 允许没有引号的key 默认已使用 // .... StringBuilder jsonBuilder = new StringBuilder(128); jsonBuilder.append("{\"name\":\'xiaoming\',age:\"25\"}"); Person person = JSON.parseObject(jsonBuilder.toString(), Person.class, Feature.AllowSingleQuotes); System.out.println(person); //Person [name=xiaoming, age=25] } /** * 自定义序列化 */ public void customerObjectToJson(){ // SerializerFeature.QuoteFieldNames 用引号包裹key 默认已使用 // SerializerFeature.SortField 排序输出字段 默认已使用 // SerializerFeature.PrettyFormat 格式化 // SerializerFeature.UseSingleQuotes key和字符串值 使用单引号 // ..... String json = JSON.toJSONString(new Person("tomcat",22), SerializerFeature.PrettyFormat,SerializerFeature.UseSingleQuotes); System.out.println(json); /** { 'age':22, 'name':'tomcat' } */ //忽略的字段和包含字段 SimplePropertyPreFilter filter = new SimplePropertyPreFilter(); filter.getExcludes().add("name"); //忽略name字段 filter.getExcludes().add("age"); // 忽略age字段 Person person = new Person("张三",25,"某某地址","1534587787"); String personjson = JSON.toJSONString(person, filter); System.out.println(personjson); // {"address":"某某地址","tellphone":"1534587787"} filter = new SimplePropertyPreFilter(); filter.getIncludes().add("address"); //包含address字段 filter.getIncludes().add("age"); //包含age字段 System.out.println(JSON.toJSONString(person,filter)); // {"address":"某某地址","age":25} } public static void main(String[] args){ FastJsonTest test = new FastJsonTest(); test.customerObjectToJson(); }}
阅读全文
0 0
- FastJson学习笔记
- fastjson学习笔记
- fastjson 学习笔记
- Fastjson 学习笔记
- FastJson学习笔记
- android学习笔记19:FastJson解析json
- JSON解析学习笔记(json、gson、fastjson)
- FastJson笔记
- fastjson学习
- fastjson学习
- 开源工程学习笔记之Fastjson(Part 0)
- 开源工程学习笔记之Fastjson(Part 1)
- Springboot学习笔记(一)FastJson解析JSON数据
- 【JavaEE学习笔记】JSON解析_原生JSON,GSON,FastJSON
- fastJson 笔记-简单应用
- FastJson 使用笔记
- fastjson 学习总结
- Java之fastjson学习
- 写给希望从事人工智能领域的各位
- block,inline和inline-block概念和区别
- 2017.07.14 训练2
- Opencv系列之cv::mat到Iplimage
- 如何让你的妆容精致一点点
- FastJson学习笔记
- 波士顿咨询报告:人工智能不仅会增加失业,还可能加剧社会不平等【智库2861】
- 机器学习(Machine Learning)&深度学习(Deep Learning)学习资料总结
- Matrix POJ
- js漂浮订单信息
- 情商2-给拒绝找个合适的理由
- CC254x--BLE
- 05.11 inotify+rsync构建实时同步
- 【题解】poj3281 dining