Javascript 找回json有困难吗
我使用的是当前的json结构:Javascript 找回json有困难吗,javascript,json,jsonp,Javascript,Json,Jsonp,我使用的是当前的json结构: jsonp = {"game":[ {"id":"1","gameImage":"qqq.jpg"} ], "game":[ {"id":"2","gameImage":"hhh.jpg"} ] } 我正试图找回所有的游戏形象值。我尝试了以下方法,但就是不起作用。有什么想法吗 <html> <he
jsonp = {"game":[
{"id":"1","gameImage":"qqq.jpg"}
],
"game":[
{"id":"2","gameImage":"hhh.jpg"}
]
}
我正试图找回所有的游戏形象值。我尝试了以下方法,但就是不起作用。有什么想法吗
<html>
<head></head>
<body>
<script type="text/javascript" language="javascript" src="jquery-1.8.2.min.js"></script>
<script type="text/javascript" language="javascript" src="gameData.json"></script>
<script>
$(document).ready(function() {
var obj = $.parseJSON(jsonp);
$.each(obj, function() {
alert(this['gameImage']);
});
});
</script>
</body>
</html>
$(文档).ready(函数(){
var obj=$.parseJSON(jsonp);
$.each(对象,函数(){
警报(此['gameImage']);
});
});
假设您显示的第一个代码位于名为“gameData.json”
的文件中(错误),那么您试图解析的不是json(或JSONP),而是纯JavaScript
所以不要解析它
改变
var obj = $.parseJSON(jsonp);
到
注:
- 是一种基于文本的数据交换格式。您的困惑可能来自许多年轻的开发人员使用非感官表达式,如“JSON对象”
- 您应该避免将
命名为包含普通JavaScript对象的变量jsonp
如果您喜欢加载JSON文件而不是执行JavaScript文件,那么
“jsonp=
部分,使其成为真正的JSON文件script
元素(因为它不再是JavaScript)$(document).ready(function() {
$.getJSON("gameData.json", function(obj){
$.each(obj, function() {
alert(this['gameImage']);
});
});
});
或者,如果您有能力不支持IE8:
$(document).ready(function() {
$.getJSON("gameData.json", function(arr){
arr.forEach(function(item){
console.log(item.gameImage); // yes, prefer the console over alert
});
});
});
啊,我明白了。我想解析一个真正的json文件,所以我应该删除“jsonp”吗=“从json文件中?如果您想使其成为json文件,是的,您必须删除该部分。但是,您不能将其加载到脚本元素中,而是使用ajax函数。你想让我扩展我的答案来解释怎么做吗?好的,我已经删除了。我是否仍应执行您上面提到的线路更改?我想找回的是,对于每个游戏块,找回gameImage值。这非常感谢:)我现在意识到,真正的json文件不能在本地加载,这是我的游戏需要的。所以我可能会继续使用原始答案,并将其用作字符串状态。
$(document).ready(function() {
$.getJSON("gameData.json", function(arr){
arr.forEach(function(item){
console.log(item.gameImage); // yes, prefer the console over alert
});
});
});