javascript - JSON.parse 是否支持解析不带双引号的字符串

标签 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)
  }
}

最佳答案

这不是一个有效的 json,因此 JSON.parse 将理所当然地失败。看来你可以通过这样做使它成为一个有效的 json

var jsonString = rawString.replace(/NumberLong\((\d*)\)/g, "$1")

然后

JSON.parse(jsonString)

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

关于javascript - JSON.parse 是否支持解析不带双引号的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43403258/

相关文章:

javascript - Angular 2.0 强制刷新,如 $apply

javascript - 启动 Framework7 时出现错误 'Dom7 is not defined' - Vue app with Webpack

javascript - React - 将函数值返回给 setState

javascript - 如何将 JSON 数据从 python 返回到 javascript?

JavaScript 日期对象重置

Javascript列表像数据结构?

javascript - 是否可以将类传递给 Javascript 函数?

javascript - window.resize 事件只触发一次

javascript - 错误数据表 : Individual Select When Using innerHTML

javascript - 将JSP文件加载到Javascript中实现Fragments