JSON.parse是否支持在没有双引号的情况下解析字符串

时间:2017-04-13 23:38:45

标签: javascript

我有以下json数据。问题出在最后一个字段"totalChildMillis" : NumberLong(2)上。未引用NumberLong(2)。当我运行JSON.parse时,我对此字段有例外。 JSON.parse有没有办法忽略双引号?我不想自己预先解析字符串,所以我正在寻找一种方法来自动处理这个问题。

{
  "executionStages" : {
    "stage" : "SINGLE_SHARD",
    "nReturned" : 10000,
    "executionTimeMillis" : 3,
    "totalKeysExamined" : 0,
    "totalDocsExamined" : 10000,
    "totalChildMillis" : NumberLong(2)
  }
}

1 个答案:

答案 0 :(得分:1)

这不是一个有效的json,因此JSON.parse将会失败。看来你可以通过

使它成为一个有效的json
var jsonString = rawString.replace(/NumberLong\((\d*)\)/g, "$1")

然后

JSON.parse(jsonString)

如果NumberLong来自Mongo,您可能会直接输出有效的json