JSON解码-返回未定义的索引


JSON Decode - returning undefined index

我试图更熟悉JSON解码,所以这里是我得到的:

$json = '{"id":[{"tier": "SILVER"}]}';
$array = json_decode($json, true);
var_dump($array["id"]['tier']); 

我试图获取'层',但它导致以下错误:Notice: Undefined index: tier

我已经尝试了某些东西,如var_dump($array['tier']);, var_dump($array[0]['tier']);,但似乎没有工作,我找不到很多关于这方面的信息。

Notice之后,它也返回NULL。任何帮助都是感激的。

结果数组中的id键将包含一个数字索引的数组数组。要访问,您需要指定数组中的键,在本例中为0,因为只有一个元素

var_dump($array["id"][0]['tier']);

如果要解码为对象而不是强制关联数组(通过在json_decode调用中省略true),您可能会发现语法更容易阅读:

$json = '{"id":[{"tier": "SILVER"}]}';
$obj = json_decode($json);
var_dump($obj->id[0]->tier); 

您需要访问数组["id"]上的第一项[0]试试这个:

$json = '{"id":[{"tier": "SILVER"}]}';
$array = json_decode($json, true);
var_dump($array["id"][0]['tier']); 
//string(6) "SILVER"