如何在Mongo脚本中解析JSON

时间:2013-09-19 00:12:46

标签: javascript json mongodb

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

JSON.parse不存在。

以下是我的解决方法:

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

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

1 个答案:

答案 0 :(得分:0)

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

就性能而言,除了JSON.parse之外,我还没有意识到更好的事情。你可以改变程序的设计,这样你就不必解析JSON了吗?例如,要将JSON数据导入MongoDB,而不是使用eval,您应该使用mongoimport实用程序。