0

我为此发疯了。在非常密切地遵循教程之后似乎确实有效。

你能看看我的代码吗?我只想在我的元素上打印JSON数据<ul>

我的索引页

...
<body>
  <ul>
  </ul>
<div id="foo">
    <script language="javascript" type="text/javascript" src="js/jquery.js"></script>
    <script language="javascript" type="text/javascript" src="js/custom.js"></script>
</div>
</body>
...

我的 custom.js

$(document).ready (function () {
    $.getJSON("json_data.json", function(data) {
        $.each(data.emp, function() {
            $("ul").append("<li>test:" + this['name'] + "</li><li>" + this['last'] + "</li>");
        });
    });
});

我的 json_data.json

{
    "emp": [
        { "name" : "bob", "last": "marley" },
        { "name" : "kurt", "last": "cobain" }
    ]
}

我在这里想念什么?检查我的 chrome 开发人员工具 > 网络我获得状态jquery.js并且custom.js 304 未修改

我不知道这是否会影响我获取 JSON 的原因。

4

1 回答 1

1

请检查评论中提供的小提琴。

var jsonString = {"emp": [{ "name": "bob", "last": "marley" },{ "name": "kurt", "last": "cobain" }]};

    $.each(jsonString.emp, function (key, value) {
        alert(jsonString.emp[key]["name"] + jsonString.emp[key]["last"]);
         $("ul").append("<li>" + jsonString.emp[key]["name"] + " " + jsonString.emp[key]["last"] + "</li>");
        console.log(key, value);

    });

看来您需要键和值。键是索引,值是对象的尊重值。我希望这个对你有用。

于 2013-09-26T16:52:47.453 回答