Javascript JSON是如何从字符串转换为对象的?
在幕后,JSON是使用Javascript JSON是如何从字符串转换为对象的?,javascript,json,Javascript,Json,在幕后,JSON是使用eval创建的吗 如果不是,字符串'{“val1”:1,“val2”:2}如何转换为对象,其中.val1==1和.val2==2?
eval
创建的吗
如果不是,字符串
'{“val1”:1,“val2”:2}
如何转换为对象,其中.val1==1
和.val2==2
?但是,该字符串不是JSON,无法使用JSON解析器进行解析。JSON通常使用JSON解析器转换为JavaScript对象。现在的浏览器都有一个可以通过浏览器访问的浏览器。传统的pollyfill是 但是,该字符串不是JSON,不能用JSON解析器解析。试试这个 var obj=
JSON.parse(字符串)代码>
或者这是另一种方式
JSONObject jsonObj = new JSONObject("{\"val1\":\"1\",\"val2\":\"2\"}");
试试这个
var obj=JSON.parse(字符串)代码>
或者这是另一种方式
JSONObject jsonObj = new JSONObject("{\"val1\":\"1\",\"val2\":\"2\"}");
@昆廷——crockford的json代码(源代码:)第471行读作j=eval(“(“+text+”)”)
JSON.parse,从您链接的文档中可以看到:parse:function(sJSON){return eval(“+sJSON+”);},
@TravisJ-这两个都是针对没有内置JSON解析器的浏览器的pollyfill。json2.js更安全,它在求值之前测试确保字符串是JSON。@Quentin-我明白了,如果对象是通过解析构造的,我不确定是否可以使用点符号。这是可行的:varobj={};obj[“val1”]=1;控制台日志(obj.val1)因此解析器必须能够通过类似的方法构造json。@Quentin-crockford的json代码第471行(源代码:)读取j=eval(“(“+text+”)”)
JSON.parse,从您链接的文档中可以看到:parse:function(sJSON){return eval(“+sJSON+”);},
@TravisJ-这两个都是针对没有内置JSON解析器的浏览器的pollyfill。json2.js更安全,它在求值之前测试确保字符串是JSON。@Quentin-我明白了,如果对象是通过解析构造的,我不确定是否可以使用点符号。这是可行的:varobj={};obj[“val1”]=1;控制台日志(obj.val1)因此,解析器必须能够通过类似的方法构造json。