-1

我是使用 html5 和 JavaScript 为 Win8 RT 开发应用程序的新手。我想从 JSON 文件中读取数据,这就是问题所在:

function test() {
var _url = 'js\test.json';
$.getJSON(_url, function (data) {
    for (var i = 0; i < data.length; i++) {
        var tweet = data[i].info.Name;
        document.writeln(tweet);
        //$(".test").append(tweet + 'hgjhjh');                
    }
})
};
test();

这是我的 JSON 文件:

{
"info": ["Name": "Max", Adress": "Fakestreet", "City": "New York"]
}

我的代码停在这一行,系统没有异常:

$.getJSON(_url, function (data) {

我将 jQuery 函数包含在 .js 文件中,并通过以下方式调用它

<script src="/js/jquery.js"></script>

在我的 default.html 中。

我进行了很多搜索,但没有找到针对此特定问题的解决方案。甚至 jQuery.com 的文档也没有帮助我。

将 jQuery 包含到我的项目中是否犯了任何错误?或者你有什么进一步的想法可能是什么问题?

非常感谢!

4

3 回答 3

2

您的 JSON 无效。您正在尝试在数组中使用键,这在 JS 中是不可能的,因为没有关联数组(但对象)。改用对象文字表示法:

{
"info": {"Name": "Max", "Adress": "Fakestreet", "City": "New York"}
}

另请注意,您缺少分隔Adress键的双引号。

现在您可以在 AJAX 成功回调中查找数据,例如:

$.each(data, function(){
   console.log(this.Name);
   console.log(this.Adress);
   console.log(this.City);
});
于 2013-04-19T14:57:27.480 回答
0

你错过了一个报价。

{
"info": ["Name": "Max", Adress": "Fakestreet", "City": "New York"]
}

应该

{
"info": ["Name": "Max", "Adress": "Fakestreet", "City": "New York"]
}

Firebug 会捕捉到类似的东西。

于 2013-04-19T14:49:23.503 回答
0

您缺少引号,而不是括号“[”应该是大括号“{”。您可以在此处检查 json 的有效性 http://jsonlint.com/

 {
    "info": {
              "Name": "Max",
              "Adress": "Fakestreet",
              "City": "New York"
            }
}
于 2013-04-19T14:58:52.917 回答