34-讨论
16.8.3 讨论
正如前一个秘诀中讨论的,我们现在将关注JSON字符串的解析或者解码。
警告
重要的是,这里概述的一些方法是不安全的,可能导致潜在的安全问题。一定要确保数据源是可信任的。
利用JSON数据的最简方法是对消息执行 eval() 方法。但是,这种方法有一些固有的安全问题,因为 eval() 是围绕整个JavaScript规范而不只是JSON子集。这意味着,恶意人士可以执行JSON字符串中嵌入的代码。所以,不建议使用这种方法。作为替代,使用前一个秘诀提到的Douglas Crockford的 JSON 程序库。(注意,他的程序库也利用 eval() ,但是对数据进行预处理以确保数据安全。)
var serializedJSON = '{"title":"Hello World!","body":"It\'s great to be alive!"}';
var message = JSON.parse( serializedJSON );
这样,就可以像其他JavaScript对象一样使用消息对象:
alert( "New Message!\nTitle: " + message.title + "\nBody: " + message.body);
JSON程序库以及其他JSON资源可以从http://jquery-cookbook.com/go/json下载。