gpt4 book ai didi

javascript - 解析 "relaxed"JSON 没有 eval

转载 作者:IT老高 更新时间:2023-10-28 12:47:03 25 4
gpt4 key购买 nike

解析“宽松”JSON但避免邪恶eval的最简单方法是什么?

以下抛出错误:

JSON.parse("{muh: 2}");

因为正确的 JSON 应该引用键:{"muh": 2}


我的用例是一个简单的测试接口(interface),用于将 JSON 命令写入我的节点服务器。到目前为止,我只是简单地使用了 eval,因为它只是一个测试应用程序。然而,在整个项目中使用 JSHint 一直困扰着我关于 eval 的问题。所以我想要一个安全的替代方案,它仍然允许键的宽松语法。

PS:我不想仅仅为了测试应用程序而自己编写解析器:-)

最佳答案

您可以使用正则表达式替换来清理 JSON:

var badJson = "{muh: 2}";
var correctJson = badJson.replace(/(['"])?([a-z0-9A-Z_]+)(['"])?:/g, '"$2": ');
JSON.parse(correctJson);

关于javascript - 解析 "relaxed"JSON 没有 eval,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9637517/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com