PHP:从JSON字符串访问字典

PHP:从JSON字符串访问字典,php,json,server-side,Php,Json,Server Side,我正在编写一个简单的PHP脚本,用于进行返回JSON的API调用。但是,我很难弄清楚如何获取JSON字符串,将其转换为字典,以及如何访问其中的嵌套字典/数据 以下是我目前掌握的情况: <?php $id = $_REQUEST['id']; $url = http://exampleURLThatReturnsJSONString.com $rawData = file_get_contents($url); json解码返回数组或访问类似于数组的对象。 您可以像这样访问解码数据: e

我正在编写一个简单的PHP脚本,用于进行返回JSON的API调用。但是,我很难弄清楚如何获取JSON字符串,将其转换为字典,以及如何访问其中的嵌套字典/数据

以下是我目前掌握的情况:

<?php
$id = $_REQUEST['id'];

$url = http://exampleURLThatReturnsJSONString.com
$rawData = file_get_contents($url);

json解码返回数组或访问类似于数组的对象。

您可以像这样访问解码数据:

echo $decodedData['key'];
echo $decodedData['key1']['key2']['...'];
这将使用键“key”回显字典中项的值。嵌套值的访问方式如下:

echo $decodedData['key'];
echo $decodedData['key1']['key2']['...'];
您始终可以使用
var\u dump
显示结果中的内容。另外,请阅读以了解更多信息。

json\u decode($json,$assoc=false)
默认情况下将json字符串转换为对象,或者如果指定
$assoc=true


如果您有
$assoc=false
,则必须通过
$decoded\u data->key
访问这些值。然而,如果你有
$assoc=true
那么你可以做
$decoded\u data['key']

我们不知道你“下一步”需要做什么,因为PHP没有“字典”。它有数组。一旦通过json_解码运行json字符串,您将得到一个数组或一个对象。此时,您可以像访问任何其他php数组/对象一样访问数据。
json\u decode
将按照您的建议对原始数据进行解码。之后会发生什么取决于数据的结构(您没有显示)和应用程序(您没有描述)。正如达贡所说:“我们也不知道你‘下一步’需要做什么”对不起,让我澄清一下。一旦我得到数据,即电视节目表数据,我想访问字典关键路径LinearScheduleResult/schedule/Airings。然后,对于
Airings
中的每个对象,我想将其添加到另一个数组中。谢谢您的评论。我刚刚试过:
$data=json\u decode($rawData);echo$data['LinearScheduleResult']['Schedule']['Airings'],但我遇到了以下错误:
致命错误:无法将stdClass类型的对象用作数组
。有什么想法吗?有两种方法:使用json_解码($data,true)(第二个参数将所有对象转换为数组)或使用$data->LinearScheduleResult->Schedule->Airings;