$ .getJSON jquery解析为HTML

时间:2013-08-12 01:57:16

标签: javascript jquery json

我在这里看到了一个非常基本的JSON提取。

[
  { first: "bob", last: "jones", },
  { first: "josh", last: "smith", }
]

我正在尝试使用$.getJSON将其解析为HTML。

我之前从未使用过这个jquery函数,但是我遇到了问题。 我的猜测是我在信息div中遗漏了一些东西。

我目前在此示例中有JSON URL,但我的实时代码具有实际的URL。

感谢任何指导,这是我的代码:

的Javascript

$.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);
}

HTML

<div id="info"></div>

2 个答案:

答案 0 :(得分:3)

您的JSON无效。您缺少字段名称周围的引号。尝试这样的事情:

[
    { "first": "Bob", "last": "Jones" },
    { "first": "Josh", "last": "Smith" }
]

答案 1 :(得分:0)

在JSON中,键必须是双引号(因此必须是字符串)。不允许使用单引号,并且需要引号。

使用JSON时,您必须确保它是有效的。

很容易错过逗号,引号或不匹配的括号。为此,我建议使用JSON validator

在问题中检查JSON对象时,我发现它无效,原因有两个:

  1. 有效的JSON对象必须始终包装 属性名称为[“]
  2. 之后还有一个额外的逗号[,] 第二个值,而应该有大括号。
  3. 从服务器获得答案时,我建议您检查一下,看看这是否是您期望的答案。例如,在$ .each(数据,函数(名称)之前,您可以执行以下操作

    alert(JSON.stringify(data,));
    

    这将显示从服务器收到的字符串。

    通常我建议使用$ .ajax而不是$ .getJSON,因为您可以更好地控制来自服务器的响应,您可以决定是否要缓存,异步调用等等。

    你可以看到jQuery Ajax API here

    希望我的回答能帮到你。