我在这里看到了一个非常基本的JSON提取。
[
{ first: "bob", last: "jones", },
{ first: "josh", last: "smith", }
]
我正在尝试使用$.getJSON
将其解析为HTML。
我之前从未使用过这个jquery函数,但是我遇到了问题。 我的猜测是我在信息div中遗漏了一些东西。
我目前在此示例中有JSON URL,但我的实时代码具有实际的URL。
感谢任何指导,这是我的代码:
$.getJSON('JSON URL', 'limit=5', processNames);
function processNames(data) {
var infoHTML='';
$.each(data, function(name) {
infoHTML += 'First: ' + name.first;
infoHTML += 'Last: ' + name.last;
});
$('#info').html(infoHTML);
}
<div id="info"></div>
答案 0 :(得分:3)
您的JSON无效。您缺少字段名称周围的引号。尝试这样的事情:
[
{ "first": "Bob", "last": "Jones" },
{ "first": "Josh", "last": "Smith" }
]
答案 1 :(得分:0)
在JSON中,键必须是双引号(因此必须是字符串)。不允许使用单引号,并且需要引号。
使用JSON时,您必须确保它是有效的。
很容易错过逗号,引号或不匹配的括号。为此,我建议使用JSON validator
在问题中检查JSON对象时,我发现它无效,原因有两个:
从服务器获得答案时,我建议您检查一下,看看这是否是您期望的答案。例如,在$ .each(数据,函数(名称)之前,您可以执行以下操作
alert(JSON.stringify(data,));
这将显示从服务器收到的字符串。
通常我建议使用$ .ajax而不是$ .getJSON,因为您可以更好地控制来自服务器的响应,您可以决定是否要缓存,异步调用等等。
你可以看到jQuery Ajax API here
希望我的回答能帮到你。