Javascript 找回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

我使用的是当前的json结构:

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对象”
  • 您应该避免将
    jsonp
    命名为包含普通JavaScript对象的变量

如果您喜欢加载JSON文件而不是执行JavaScript文件,那么

  • 删除
    “jsonp=
    部分,使其成为真正的JSON文件
  • 删除
    script
    元素(因为它不再是JavaScript)
  • 使用ajax加载JSON文件
  • 下面是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
          });
       });
    });