php正确编码json并将其与我的特殊数组一起使用

时间:2015-12-05 17:33:26

标签: php json web encoding

我在开发一个Minecraft服务器时遇到了一个问题:我有一个这样的数组,接收为json并编码但是为了处理输出,我需要知道如何访问数组和echo示例Version Key的值之一。我试图将数组保存为变量$json并通过echo $json->Version;访问它,但这导致输出此错误:Notice: Trying to get property of non-object in /home/bs-web/joomla/api/test2.php on line 12 < / p>

这是数组:

Array
(
  [0] => stdClass Object
    (
        [GameName] => MINECRAFT
        [Version] => 1.8
        [Plugins] => 
        [Map] => BungeeCord_Proxy
        [Players] => 7
        [MaxPlayers] => 100
        [HostPort] => 25565
        [HostIp] => 188.40.97.86
        [Software] => Vanilla
    )

3 个答案:

答案 0 :(得分:0)

您的变量$json是一个数组,您无法获取数组的属性。假设您的示例中只有一个元素,您应该使用

echo $json[0]->Version;

显示版本(示例中为1.8)。

答案 1 :(得分:0)

$json变量保存为数组后,只能通过要使用的键访问其值,然后指向该对象。在您的情况下,要获取Version属性,您需要使用$json[0]->Version。 要访问和回显对象的所有值,可以使用foreach循环来迭代它。

foreach ($json as $object){
    echo $object->GameName;
    echo $object->Version;
    echo $object->Plugins;
    .... // All properties that you want
}

希望它可以帮助你,拥抱。

答案 2 :(得分:0)

您也可以使用json_decode($json, true)然后获得一个关联数组,您可以像$json['Version']

一样访问该数组