在Visual Studio 2012中使用jQuery读取JSON文件失败

时间:2013-04-19 14:46:35

标签: javascript json html5

我是使用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包含在我的项目中是否犯了错误?或者你有什么进一步的想法可能是什么问题?

非常感谢!

3 个答案:

答案 0 :(得分:2)

您的JSON无效。你试图在Arrays中使用键,这在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);
});

答案 1 :(得分:0)

你错过了一句话。

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

应该是

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

Firebug会抓住类似的东西。

答案 2 :(得分:0)

你缺少引号而不是括号“[”应该有大括号“{”。 你可以在http://jsonlint.com/

检查json的有效性
 {
    "info": {
              "Name": "Max",
              "Adress": "Fakestreet",
              "City": "New York"
            }
}