如何从URL中提取JSON数据

时间:2014-08-09 05:16:41

标签: javascript php html json

我正在尝试从以下网址中提取数据: http://content.warframe.com/dynamic/worldState.php

...但是我无法确切地知道如何。

该链接包含在线游戏 Warframe 的开发者可用的JSON数据。基本上它只显示服务器信息,以及其他与游戏相关的信息。

这是第一部分的片段:

{
  "Version": 9,
  "BuildLabel": "2014.08.06.16.27/7muOn6ZYQ4Brw+vtYhsKYQ",
  "Time": 1407561753,
  "Events": [
    {
      "_id": {
        "$id": "5398e94d075fcb5d2afc5737"
      },
      "Msg": "Loki Prime Access! ",
      "Prop": "https://warframe.com/prime-access",
      "Date": {
        "sec": 1402529771,
        "usec": 0
      }
    },

我试图找出如何将数据提取到电子表格中。从我理解的(思考)开始,我需要使用HTML中的JavaScript来转换/提取JSON代码并将其解析为更容易阅读的格式?我只是不确定这样做有多好,如果有人可以分享一个可行的例子,我会很高兴 - 也许是一些可以提取" 9"超出"版本"?

在编程方面,我显然是初学者。我非常了解HTML / CSS,但我基本上没有没有 JavaScript体验。我想更多地了解JavaScript和JSON,我总觉得最好的学习方法是将它与你喜欢的东西结合起来 - 在这种情况下,我玩的游戏。

如果有更多信息有用,请告诉我,我会尽力。

提前致谢!

1 个答案:

答案 0 :(得分:1)

您可以使用json_decode()函数将JSON数据解码为数组。

$contents = file_get_contents("http://content.warframe.com/dynamic/worldState.php"); // Requires allow_url_fopen to be enabled in php.ini
$array = json_decode($contents, true); // Remove true if you want to work with an object instead of an array

echo $array['Version']; // Outputs 9
echo $array['Events'][0]['Msg']; // Outputs 'Loki Prime Access!'

var_dump($array); // Dumps the array, read through it and you'll get a good overview of how it works.