jQuery.parseJSON与jQuery.getJSON

5 ajax jquery json

我很擅长使用JSON(以及一般的jQuery Ajax功能).我要做的是设置一个包含JSON对象的单独文件,指向该文件,将对象存储为变量,并使用点表示法访问对象的属性.

jQuery.parseJSON()排序允许我做我想要的,但我想采取指向单独文件的下一步.

例如,以下操作完全符合我的预期,打开一个显示为"红色"的警告框:

var test = $.parseJSON('{"simple":"red"}');
alert(test.simple);
Run Code Online (Sandbox Code Playgroud)

以下指向包含相同JSON对象的文件不起作用,打开一个显示"未定义"的警告框:

var test = $.getJSON('simple.json');
alert(test.simple);
Run Code Online (Sandbox Code Playgroud)

我显然没有正确使用它.我正在努力实现的目标是什么?

cpj*_*eur 7

查看getJSON文档:http://api.jquery.com/jQuery.getJSON/

你应该做的事情如下:

$.getJSON('simple.json', function(data) {
  alert(data.simple);
});
Run Code Online (Sandbox Code Playgroud)

总是付钱阅读API文档


EMM*_*ICH 6

我觉得你误解了getJSON.它不返回JSON对象,但是将来自AJAX请求的响应文本解析为JSON的简写.

当你调用getJSON时,你实际上是在执行一个异步请求.当您呼叫提醒时,请求尚未恢复.

尝试:

var test;
$.getJSON('simple.json', {}, function(data) {
  test = data;
  alert(test.simple);
});
Run Code Online (Sandbox Code Playgroud)

Shabba:http://api.jquery.com/jQuery.getJSON/


arc*_*hil 0

getJSON用于加载数据,而不是解析

使用 GET HTTP 请求从服务器加载 JSON 编码的数据。