开发环境:
后台:Newtonsoft.Json.dll
前台: json2.js
Model 类包含时间属性,通过Newtonsoft.Json序列化传到前台,通过json2.js 反序列化转为对象总是提示报错。
跟踪判断是 json2.js 对JSON字符串检测有问题
检测方法
text.replace 方法会将JSON字符串替换为
"{]:],]:],]:],]:],]{]:],]:],]:],]:],]:],]:],]:],]:],]:],]:],]:],]:],]:],]:],]:]},{]:],]:],]:],]:],]:],]:],]:],]:],]:],]:],]:],]:],]:],]:],]:]},{]:],]:],]:],]:],]:],]:],]:],]:],]:],]:],]:],]:],]:],]:],]:]},{]:],]:],]:],]:],]:],]:],]:],]:],]:],]:],]:],]:],]:],]:],]:]}],]:],]:],]:],]:],]:],]:],]:]} "
格式,再通过 /^["],:{}"s]*$/.test()方法检查,但是包含时间属性时
"{]:],]:],]:],]:],]{]:],]:],]:],]:new Date(]),]:],]:],]:],]:],]:],]:],]:],]:],]:],]:],]:]},{]:],]:],]:],]:new Date(]),]:],]:],]:],]:],]:],]:],]:],]:],]:],]:],]:]},{]:],]:],]:],]:new Date(]),]:],]:],]:],]:],]:],]:],]:],]:],]:],]:],]:]},{]:],]:],]:],]:new Date(]),]:],]:],]:],]:],]:],]:],]:],]:],]:],]:],]:]}],]:],]:],]:],]:],]:],]:],]:]}"
/^["],:{}"s]*$/.test() 为false
修改检测方法,多加一个relpace, 将"new Date(])" 替换为 "]"
修改后反序列化可以正常运行了