纯做笔记,请多指教...
1,json格式:
非数组: {"key" : "value"}
数组:[{"key" : "value"},{"key" : ["value","value","value","..."]}]
2,json格式验证
优秀在线验证连接:http://www.bejson.com/
3,java对象-json转换工具-->fastjson
支持:
1,单对象
序列化:JSON.toJSONString(obj);
反序列化:JSON.parseObject(JSONString,obj.class);
2,集合对象
序列化:JSON.toJSONString(obj);
反序列化:JSON.ArrayObject(JSONString,obj.class);
注意集合反序列化传入的是集合元素对象.class
3,支持复合对象(对象中的元素是对象/数组)
待续...
4,日期类型添加格式化条件:
SerializeConfig config = new SerializeConfig();
config.put(Date.class, new SimpleDateFormatSerializer("yyyy-MM-dd HH:mm:ss"));
String s = JSON.toJSONString(date,config);
日期类型放在对象中 也可以,只要加上config就行了
......如果需要的话还可以加一些别的格式化条件
说明一下:
SerializeConfig:是对序列化过程中一些序列化过程的特殊配置,这里用作日期格式的定义。
有关需要带类型的全类型序列化过程,需要调用JSON.toJSONStringZ()方法。
需要美化输出时候,需要打开序列化美化开关,在方法中true那个参数。
JSON.toJSONString(arr,true);
5,复杂情况反序列化:
例如:JSON.parseObject(o, new TypeReference<Map<String,Object>>() {});
推荐学习网址:https://www.w3cschool.cn/fastjson/fastjson-howto.html