使用PHP解析JSON并分配给变量

时间:2016-03-31 21:36:38

标签: php json

我有以下JSON文件,我需要提取一个值并将其分配给PHP变量。我需要的价值是" icn"。

{
  "apiVersion": "1.0",
  "data": {
    "updated": 20160331141332,
    "totalItems": 1,
    "currentItemCount": 1,
    "items": [
      {
        "birthDate": "20171101",
        "fullName": "DOE,JOHN D",
        "icn": "889081784V888383",
        "pid": "55R1;60004"
      }
    ]
  }
}

我尝试过以下但没有结果。

$myjson = file_get_contents('http://testurl.org/info.json');
print_r(json_decode($myjson->data->items[0]->icn,true));

echo "<br>LAST-Error:"; echo json_last_error(); 
echo "<br>LAST-Error-Msg:"; echo json_last_error_msg();

结果

LAST-Error:0
LAST-Error-Msg:No error

2 个答案:

答案 0 :(得分:0)

我弄清楚我哪里出错了。

$myjson = file_get_contents('http://testurl.org/info.json');
$dec = (Array)json_decode($myjson,true);
$ICN = $dec["data"]["items"][0]["icn"];

答案 1 :(得分:0)

$myjson是一个字符串,您将其视为对象:

$myjson->data->items[0]->icn

您必须首先解码JSON字符串,然后您可以检索JSON元素。

只需移动右括号并删除True选项:

print_r( json_decode( $myjson->data->items[0]->icn, true ) );
#                             ┌──────────────────────────┘
print_r( json_decode( $myjson )->data->items[0]->icn );