jQuery是否内置了JSON支持,还是我必须使用像jquery.json-1.3.min.js这样的插件?
答案 0 :(得分:9)
是的,绝对是的。你可以这样做:
$.getJSON('/foo/bar/json-returning-script.php', function(data) {
// data is the JSON object returned from the script.
});
答案 1 :(得分:9)
你也可以使用$ .ajax并将dataType option设置为“json”:
$.ajax({
url: "script.php",
global: false,
type: "POST",
data: ({id : this.getAttribute('id')}),
dataType: "json",
success: function(json){
alert(json.foo);
}
}
);
此外,$.get和$.post有一个可选的第四个参数,允许您设置响应的数据类型,例如:
$.postJSON = function(url, data, callback) {
$.post(url, data, callback, "json");
};
$.getJSON = function(url, data, callback) {
$.get(url, data, callback, "json");
};
答案 2 :(得分:1)
jQuery的JSON支持是简单的,谨慎对待风。我使用了$.ajax
,然后使用json.org javascript library解析响应文本。它通过词法分析以避免使用eval()
并可能执行任意代码。
答案 3 :(得分:1)
jQuery支持解码 JSON,但不支持编码开箱即用。对于编码,您需要一个插件,一个单独的库或本机支持JSON.stringify和JSON.parse命令的浏览器。