Javascript json字符串中嵌入的日期

Javascript json字符串中嵌入的日期,javascript,json,Javascript,Json,我有一个函数,它接收字符串并将其转换为json对象 问题是,有时候,te函数可能是一个日期,我需要它是一个日期!(不是字符串) 例如,我发送给函数的字符串如下所示: [{ "date" : new Date(2013 - 01 - 01), "Weigth" : "120.00" }, { "date" : new Date(2013 - 01 - 01), "Weigth" : "110.00" } ] [{

我有一个函数,它接收字符串并将其转换为json对象

问题是,有时候,te函数可能是一个日期,我需要它是一个日期!(不是字符串)

例如,我发送给函数的字符串如下所示:

[{
        "date" : new Date(2013 - 01 - 01),
        "Weigth" : "120.00"
    }, {
        "date" : new Date(2013 - 01 - 01),
        "Weigth" : "110.00"
    }
]
[{
        "age" : 12,
        "Weigth" : "120.00"
    }, {
        "age" : 15,
        "Weigth" : "110.00"
    }
]
在其他情况下,字符串将如下所示:

[{
        "date" : new Date(2013 - 01 - 01),
        "Weigth" : "120.00"
    }, {
        "date" : new Date(2013 - 01 - 01),
        "Weigth" : "110.00"
    }
]
[{
        "age" : 12,
        "Weigth" : "120.00"
    }, {
        "age" : 15,
        "Weigth" : "110.00"
    }
]
但是,在第一个示例中,解析器抛出了一个错误。 如何检测这种情况,并强制parcer使用此属性生成javascript对象


谢谢

最简单的方法是
eval()
您的字符串,但我建议您生成一个正确的
JSON
,因为
eval()
可能会导致一些问题,而这些问题不值得通过这种简单的转换获得好处:

var invJSIN = '[{"date":new Date(2013-01-01),"Weigth":"120.00"},{"date":new Date(2013-01-01),"Weigth":"110.00"}]'
var something = eval(invJSON)

新日期(2013-01-01)是如何成为字符串的一部分的?这个无效的JSOn是如何生成的?你不能,因为那不是JSOn。如果客户端通过将响应作为JS代码进行评估来进行合作,则可能(但这也会使客户端容易受到来自服务器的攻击)。在JSON中,日期的格式如下
“{d”:“2013-11-25T14:41:24.726Z”}“