如下所示:
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的常用使用方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。
本文向大家介绍浅谈htmlentities 、htmlspecialchars、addslashes的使用方法,包括了浅谈htmlentities 、htmlspecialchars、addslashes的使用方法的使用技巧和注意事项,需要的朋友参考一下 1、html_entity_decode():把html实体转换为字符。 输出如下: 2、htmlentities():把字符转换为html实体
本文向大家介绍浅谈几种常用的JS类定义方法,包括了浅谈几种常用的JS类定义方法的使用技巧和注意事项,需要的朋友参考一下 // 方法1 对象直接量 // 方法2 定义函数对象 // 方法3 原型继承 // 方法4 工厂模式 以上这篇浅谈几种常用的JS类定义方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。
本文向大家介绍浅谈numpy库的常用基本操作方法,包括了浅谈numpy库的常用基本操作方法的使用技巧和注意事项,需要的朋友参考一下 NumPy数组的维数称为秩(rank),一维数组的秩为1,二维数组的秩为2,以此类推。在NumPy中,每一个线性的数组称为是一个轴(axes),秩其实是描述轴的数量。比如说,二维数组相当于是一个一维数组,而这个一维数组中每个元素又是一个一维数组。所以这个一维数组就是N
本文向大家介绍浅谈java线程join方法使用方法,包括了浅谈java线程join方法使用方法的使用技巧和注意事项,需要的朋友参考一下 本博客简介介绍一下java线程的join方法,join方法是实现线程同步,可以将原本并行执行的多线程方法变成串行执行的 如图所示代码,是并行执行的 打印出来的信息,都是这样的 执行时间:0 线程1:1 线程2:1 线程2:2 线程2:3 线程2:4 线程2:5 线
本文向大家介绍浅谈使用setBounds()方法需要注意的地方,包括了浅谈使用setBounds()方法需要注意的地方的使用技巧和注意事项,需要的朋友参考一下 第一点,使用这个方法,component的x,y坐标是相对于它的父容器的。如果不注意,x、y的值,比父容器的宽度和高度还大的话,就容易造成加进去组件但是显示不出来的问题。我就是遇到这么一个问题,现在才想明白。 第二点,这个方法只有在父容器的
本文向大家介绍浅谈JavaScript中promise的使用,包括了浅谈JavaScript中promise的使用的使用技巧和注意事项,需要的朋友参考一下 阅读目录 什么是Prmoise Promise的使用 最近在看《你不知道的javascript中卷》,发觉作者花了基本一半的篇幅去讲异步和promise,觉得有必要总结一下。 其实本文的目的是想手写一个Promise的,无奈总结着总结着发觉篇幅