我目前正在使用HTML / PHP从API获取JSON文件。然后我想在JavaScript中操作JSON文件并在页面上显示JSON的某些元素。我可以看到正确地回购了JSON,但是在此之后我无法将JSON保存到JavaScript变量中。我的代码如下。
<?php
$pokemon = $_POST['pokemon'];
$siteaddressAPI = "http://pokeapi.co/api/v1/game/" . $pokemon . "/";
$data = file_get_contents($siteaddressAPI);
echo($data)
?>
<!DOCTYPE HTML>
<html>
<body>
<br><br><br><br><br><br><br>
<p>Created: <span id="created"></span><br></p>
<script>
var txt = <?php echo ($data); ?>;
obj = JSON.parse(txt);
document.write("<p>Created: " + obj.created + "</p>");
</script>
</body>
</html>
编辑:我刚刚注意到我缺乏&#39; &#39;在我的txt变量周围,现在已经修复了,但问题仍然存在。
答案 0 :(得分:2)
API输出的一个例子是:
{"created": "2013-11-03T19:31:10.975452", "generation": 1, "id": 1, "modified": "2013-11-03T19:31:10.975393", "name": "Red(jpn)", "release_year": 1996, "resource_uri": "/api/v1/game/1/"}
您不需要JSON.parse,请将其删除。 (并且首先将变量txt重命名为obj,因为这是JS引擎解释JSON代码时的结果。)
var obj = <?php echo ($data); ?>;
document.write("<p>Created: " + obj.created + "</p>");
下面的控制台显示了一个示例: