如何使用php读取JSON数据响应?响应t来自第三方进行用户身份验证。首先,我只想要displayName
和preferredUsername
数据。
Json回复:
{
"stat": "ok",
"profile": {
"providerName": "testing",
"identifier": "http://testing.com/58263223",
"displayName": "testing",
"preferredUsername": "testing",
"name": {
"formatted": "testing"
},
"url": "http://testing.com/testing/",
"photo": "https://securecdn.testing.com/uploads/users/5826/3223/avatar32.jpg?1373393837",
"providerSpecifier": "testing"
}
}
答案 0 :(得分:8)
您可以使用json_decode
(http://php.net/manual/en/function.json-decode.php)功能对结果进行解码,然后检索值:
$json_data = '{
"stat": "ok",
"profile": {
"providerName": "testing",
"identifier": "http://testing.com/58263223",
"displayName": "testing",
"preferredUsername": "testing",
"name": {
"formatted": "testing"
},
"url": "http://testing.com/testing/",
"photo": "https://securecdn.testing.com/uploads/users/5826/3223/avatar32.jpg?1373393837",
"providerSpecifier": "testing"
}
}';
$json = json_decode($json_data);
echo $json->profile->displayName;
echo $json->profile->preferredUsername;
答案 1 :(得分:3)
<?php
$json='{
"stat": "ok",
"profile": {
"providerName": "testing",
"identifier": "http://testing.com/58263223",
"displayName": "testing",
"preferredUsername": "testing",
"name": {
"formatted": "testing"
},
"url": "http://testing.com/testing/",
"photo": "https://securecdn.testing.com/uploads/users/5826/3223/avatar32.jpg?1373393837",
"providerSpecifier": "testing"
}
}';
$data=json_decode($json ,true);
$preferredUsername=$data['profile']['preferredUsername'];
$displayName=$data['profile']['displayName'];
?>
答案 2 :(得分:2)
json_decode正是您所寻找的:
$json = '[
{
"displayName": "testing",
"preferredUsername": "testing",
}
]';
$jsonArray = json_decode($json);
foreach($jsonArray as $value){
$displayName = $value->Display Name;
$preferredUsername = $value->Preferred User;
}