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