function reviveDates(key, value) {
if (typeof value === 'string') {
// 正则表达式匹配日期格式,例如:2022-12-09T12:34:56.789Z
var dateRegex = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{1,3})?Z$/;
if (dateRegex.test(value)) {
return new Date(value);
}
}
return value;
}
var jsonString = '{"name":"John Doe","birthDate":"2022-12-09T12:34:56.789Z"}';
// 使用 JSON.parse() 解析 JSON 字符串,使用 reviveDates 处理日期
var jsonObject = JSON.parse(jsonString, reviveDates);
console.log(jsonObject.birthDate instanceof Date); // 输出 true
console.log(jsonObject.birthDate.toISOString()); // 输出 "2022-12-09T12:34:56.789Z"
在这个例子中,reviveDates 函数被传递给 JSON.parse() 的第二个参数,它检查值是否是一个符合日期格式的字符串,并在是的情况下创建一个 Date 对象。
请注意,日期字符串格式可能因系统和库的不同而有所差异。在实际应用中,你可能需要根据你的数据格式进行适当的调整。
转载请注明出处:http://www.zyzy.cn/article/detail/4566/JSON