我有这个json文件:
{
"Tools": [
{
"Price": 25,
"Counter": 0,
"Multi": 4,
"PriceMult": 1.3,
"Name": "Cycler",
"ID": "Tool2"
},
{
"Price": 50,
"Counter": 0,
"Multi": 4,
"PriceMult": 1.3,
"Name": "Cycler",
"ID": "Tool3"
}
]
}
如果我使用getJSON它不起作用:
$.getJSON("http://localhost/test/json/tool.json", function(data ) {
alert(data.Tools[0].Price);
});
如果我使用JSON.parse它可以工作:
var obj = JSON.parse('{"Tools" : [{"Price": 25,"Counter": 0,"Multi": 4,"PriceMult": 1.3,"Name": "Cycler","ID": "Tool2"},{"Price": 50,"Counter": 0,"Multi": 4,"PriceMult": 1.3,"Name": "Cycler","ID": "Tool3"}]}');
alert(obj.Tools[0].Price);
为什么会这样?
编辑:
这段代码是输出25:
$.getJSON("http://localhost/test/json/tool.json", function(data ) {
alert(data.Price);
});
答案 0 :(得分:0)
您可能需要通过以下方式访问该文件:
$.getJSON("test/json/tool.json", function(data ) {
alert(data.Tools[0].Price);
});
我不知道localhost服务器的上下文根。上面的示例假设它是test
的父文件夹。如果它是test
文件夹本身,请从网址字符串中删除test
:
$.getJSON("json/tool.json", function(data ) {
alert(data.Tools[0].Price);
});
答案 1 :(得分:0)
您是否检查了$ .getJSON调用的状态?这应该给出状态代码,指示通过ajax请求
检索文件的任何问题答案 2 :(得分:0)
感谢大家的帮助。
问题已经解决了。我今天用alert(data.Tools[0].Price);
尝试了它,但它确实有效。
可能是缓存问题。