0

我有一个看起来像这样的 json 文件:

易.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 将绘制游戏场。

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

4

3 回答 3

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());
于 2013-06-04T11:25:03.750 回答
1

您需要将此 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);
?>
于 2013-06-04T11:22:51.550 回答
1

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

var obj = JSON.parse(string);

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

于 2013-06-04T11:29:25.223 回答