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规范,如属性都需用引号引起来。
总结
到此这篇关于js字符串转json的三种简单方法的文章就介绍到这了,更多相关js字符串转json内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论