JSON
1、JSON语法
- 数据使用key:value表示
- 使用大括号保存对象,key后面接: 使用,分隔
- 使用方括号保存数组,数组值使用,分隔
{
"key": "value",
"obj": {},
"arr": [
]
}
2、使用
2.1、js 字符串转 JSON 对象 (JSON.parse())
语法
JSON.parse(text[, reviver])
var obj = JSON.parse('{ "name":"runoob", "alexa":10000, "site":"www.runoob.com" }');
2.2、js 对象装字符串 (JSON.stringify())
语法
JSON.stringify(value[, replacer[, space]])
var obj = {"name": "runoob", "alexa": 10000, "site": "www.runoob.com"};
var myJSON = JSON.stringify(obj);
Fastjson2
时间类型转换
设置字符串格式
JSONObject.DEFFAULT_DATE_FORMAT="yyyy-MM-dd";//设置日期格式
JSONObject.toJSONString(resultMap, SerializerFeature.WriteMapNullValue,SerializerFeature.DisableCircularReferenceDetect,SerializerFeature.WriteDateUseDateFormat);
@JSONField(format="yyyyMMdd")
jdk11
和 jdk17
中,com.alibaba.fastjson.JSON#toJSONString(java.lang.Object)
对 Date
字段的处理是不一样的。
jdk11
会转时间戳,例如 2022-02-02 12:12:12
转为 1643767932000
。
jdk17
则会转为 2022-02-02 12:12:12
。
解决方法:
- 在序列化对象的 Date 类型的成员变量上加上
@JSONField(format="yyyy-MM-dd HH:mm:ss")
- 显示指定:
JSON.toJSONString(obj, SerializerFeature.WriteDateUseDateFormat);