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