我希望检查用户输入的文本是否是有效的JSON格式。我知道可以使用类似以下代码的方式来实现:
function IsJsonString(str) {
try {
JSON.parse(str);
} catch (e) {
return false;
}
return true;
}
我的问题出在来自Mongo的JSON数据上,其中包含了ObjectId
和ISODate
,例如:
{
"_id" : ObjectId("5733b42c66beadec3cbcb9a4"),
"date" : ISODate("2016-05-11T22:37:32.341Z"),
"name" : "KJ"
}
这不是有效的JSON格式。如果想要允许类似上述内容,该怎么验证JSON格式呢?
'"$1(\"$2\")"'
中的$2用单引号括起来,变成了'"$1(\'$2\')"'
,这样它就会显示为"ObjectId('1234')"
, 而不是"ObjectId("1234")"
, 其中引号会自己转义。 - KJ3