如何在 Mongo 脚本中解析 JSON

How to parse JSON in Mongo script

本文关键字:JSON 脚本 Mongo      更新时间:2023-09-26

作为MongoDB脚本的一部分,我需要解析JSON。(不是你通常会做的事情,但它毕竟是Javascript)。

JSON.parse不存在。

这是我所做的解决方法:

function parseJSON(json) {
    return eval("(function() { return "+json+"; })()");
}

这似乎不是高性能的,而且看起来有点荒谬。有没有人有更好的方法?

如果你真的必须将 JSON 字符串转换为 JavaScript 对象,那么你的建议是完全合理的,尽管由于性能问题和安全风险,有理由避免 eval(参见 JavaScript 的 eval() 什么时候不是邪恶的?)。如果您生成了 JSON 数据并且确定其中没有任何危险,那么您可能不必担心注入漏洞。

就性能而言,除了JSON.parse之外,我不知道还有什么更好的。您能否更改程序的设计,以便不必解析 JSON?例如,要将JSON数据导入MongoDB,您应该使用mongoimport实用程序,而不是使用eval。