Php 读取JSON数据变量

Php 读取JSON数据变量,php,json,Php,Json,我在读取JSON数据时遇到问题。这可能只是一件简单的事情,但我不知道如何解决它。基本上我有一个PHP页面,它从url读取JSON数据。 除了一个变量外,它都可以正常工作。这个变量的问题是,JSON文件中节点的实际名称包含一个数字,这会导致php文件中出现错误,从而停止执行。 例如,工作的变量如下所示: $name = $data->name; $rain = $data->rain->{3h}; 不起作用的是: $rain = $data->rain->3h;

我在读取JSON数据时遇到问题。这可能只是一件简单的事情,但我不知道如何解决它。基本上我有一个PHP页面,它从url读取JSON数据。 除了一个变量外,它都可以正常工作。这个变量的问题是,JSON文件中节点的实际名称包含一个数字,这会导致php文件中出现错误,从而停止执行。 例如,工作的变量如下所示:

$name = $data->name;
$rain = $data->rain->{3h};
不起作用的是:

$rain = $data->rain->3h;
当我这样做时,我得到:

Parse error: syntax error, unexpected T_LNUMBER, expecting T_STRING or T_VARIABLE or '{' or '$' in...
当我删除“3”并将其保留为“h”时,它工作正常,但问题是,该节点称为“3h”,因此它工作,但它不加载值

您是否尝试过使用引号的“3h”?

尝试以下方法:

  • 现在,您可以作为多维数组访问JSON,例如:
    $data['rain']['3h']

  • $data->rain['3h']

  • 使用如下的花括号:

    $name = $data->name;
    
    $rain = $data->rain->{3h};
    

    是的,这也没有帮助,因为它可能想分配“3h”而不是读取它,不管怎样,这都没有帮助