1.eval方式解析
function strToJson(str){ var json = eval("(" + str + ")"); return json; } console.log(strToJson("{'int':1, 'string':'demo'}"));
讯享网
运行截图:
注: 记得别忘了str两旁的小括号。
永远不要使用 eval !!!
eval() 是一个危险的函数, 它使用与调用者相同的权限执行代码。如果你用 eval() 运行的字符串代码被恶意方(不怀好意的人)修改,您最终可能会在您的网页/扩展程序的权限下,在用户计算机上运行恶意代码。更重要的是,第三方代码可以看到某一个 eval() 被调用时的作用域,这也有可能导致一些不同方式的攻击。相似的 Function 就不容易被攻击
2.new Function形式
讯享网function strToJson(str){ var json = (new Function("return " + str))(); return json; } console.log(strToJson("{'int':1, 'string':'demo'}"));

运行截图:

3.使用全局的JSON对象
function strToJson(str){ return JSON.parse(str); } console.log(strToJson('{"int":1, "string":"demo"}'));
运行截图:

注: 单引号,双引号的位置。 使用JSON.parse需严格遵守JSON规范,如属性都需用引号引起来。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/14062.html