json2.js 不能反序列化时间属性问题

开发环境:

  后台:Newtonsoft.Json.dll

  前台: json2.js

     Model 类包含时间属性,通过Newtonsoft.Json序列化传到前台,通过json2.js 反序列化转为对象总是提示报错。

     跟踪判断是 json2.js 对JSON字符串检测有问题

检测方法

Code

 

text.replace 方法会将JSON字符串替换为

"{]:],]:],]:],]:],]{]:],]:],]:],]:],]:],]:],]:],]:],]:],]:],]:],]:],]:],]:],]:]},{]:],]:],]:],]:],]:],]:],]:],]:],]:],]:],]:],]:],]:],]:],]:]},{]:],]:],]:],]:],]:],]:],]:],]:],]:],]:],]:],]:],]:],]:],]:]},{]:],]:],]:],]:],]:],]:],]:],]:],]:],]:],]:],]:],]:],]:],]:]}],]:],]:],]:],]:],]:],]:],]:]} "

格式,再通过 /^["],:{}"s]*$/.test()方法检查,但是包含时间属性时

 "{]:],]:],]:],]:],]{]:],]:],]:],]:new Date(]),]:],]:],]:],]:],]:],]:],]:],]:],]:],]:],]:]},{]:],]:],]:],]:new Date(]),]:],]:],]:],]:],]:],]:],]:],]:],]:],]:],]:]},{]:],]:],]:],]:new Date(]),]:],]:],]:],]:],]:],]:],]:],]:],]:],]:],]:]},{]:],]:],]:],]:new Date(]),]:],]:],]:],]:],]:],]:],]:],]:],]:],]:],]:]}],]:],]:],]:],]:],]:],]:],]:]}"

 /^["],:{}"s]*$/.test() 为false

修改检测方法,多加一个relpace, 将"new Date(])" 替换为 "]"

Code

 

修改后反序列化可以正常运行了

 

 

 

 

 

 

 

  

posted @ 2009-03-26 12:36  mapig  阅读(878)  评论(0编辑  收藏  举报