【问题标题】:Load a json file into an array in javascript在javascript中将json文件加载到数组中
【发布时间】:2013-05-30 18:28:52
【问题描述】:

我有一个如下所示的 json 文件:

easy.txt

{"top":[[1],[2,2],[2,2,3],[7,2],[2,3],[2,3],[2,2,3],[7,2],[2,2,3],[2]],"left":[[1,1],[3,3],[3,3],[1,1],[3,4],[3,4],[1,1],[3,3,2],[9],[7]],"task":[[0,0,0,1,0,0,0,1,0,0],[0,0,1,1,1,0,1,1,1,0],[0,0,1,1,1,0,1,1,1,0],[0,0,0,1,0,0,0,1,0,0],[0,1,1,1,0,1,1,1,1,0],[0,1,1,1,0,1,1,1,1,0],[0,0,0,1,0,0,0,1,0,0],[1,1,1,0,1,1,1,0,1,1],[0,1,1,1,1,1,1,1,1,1],[0,0,1,1,1,1,1,1,1,0]]}

我想做的是将这 3 个数组加载到 3 个不同的 var 中。 我正在制作一个网格游戏,用户可以在不同的任务之间进行选择。选择任务后(假设用户选择了简单的任务,因此 url 看起来像:.../game.php?select=easy,并且 javascript 加载了 easy.json 文件)选定的 json 文件将加载,我的 javascript 将绘制游戏场。

如果有不清楚的地方请追问,我会回答的。

【问题讨论】:

  • 您到底想要什么?三个数组只能分成三个不同的变量?
  • 是的,并且变量名称将与 json 文件中的相同。 var top、var left 和 var task。
  • @user1430743,请查看我的回答。

标签: php javascript json


【解决方案1】:

您可以使用以下方法将 JSON 字符串解析为对象:

var obj = JSON.parse(string);

现在你有了一个数组数组,你可以从中访问任何你想要的值。

【讨论】:

    【解决方案2】:

    您必须解析该 json 值并使用它。

    例如:

    var obj = jQuery.parseJSON('{"name":"John"}');
    alert( obj.name);
    

    在你的情况下:

    var obj = jQuery.parseJSON('{"top":[[1],[2,2],[2,2,3],[7,2],[2,3],[2,3],[2,2,3],[7,2],[2,2,3],[2]],"left":[[1,1],[3,3],[3,3],[1,1],[3,4],[3,4],[1,1],[3,3,2],[9],[7]],"task":[[0,0,0,1,0,0,0,1,0,0],[0,0,1,1,1,0,1,1,1,0],[0,0,1,1,1,0,1,1,1,0],[0,0,0,1,0,0,0,1,0,0],[0,1,1,1,0,1,1,1,1,0],[0,1,1,1,0,1,1,1,1,0],[0,0,0,1,0,0,0,1,0,0],[1,1,1,0,1,1,1,0,1,1],[0,1,1,1,1,1,1,1,1,1],[0,0,1,1,1,1,1,1,1,0]]}');
    alert(obj.top);
    alert(obj.top.toSource());
    

    【讨论】:

      【解决方案3】:

      你需要把这个json字符串解析成一个php数组吗?

      见:http://nl1.php.net/manual/en/function.json-decode.php

      我是你唯一的问题,这意味着你可以尝试:

      <?php
       $contents = file_get_contents('json_file.txt');
       $json = json_decode($contents);
       var_dump($json);
      ?>
      

      【讨论】:

        猜你喜欢
        • 2014-07-08
        • 1970-01-01
        • 2019-11-13
        • 2013-08-28
        • 1970-01-01
        • 1970-01-01
        • 2015-07-04
        • 1970-01-01
        • 2018-08-25
        相关资源
        最近更新 更多