我正在尝试学习Twitter的API。这是发送请求时服务器返回的内容。
[
{
"coordinates": null,
"favorited": false,
"truncated": false,
"created_at": "Wed Aug 29 17:12:58 +0000 2012",
"id_str": "240859602684612608",
"entities": {
"urls": [
{
"expanded_url": "https://dev.twitter.com/blog/twitter-certified-products",
"url": "https://t.co/MjJ8xAnT",
"indices": [
52,
73
],
"display_url": "dev.twitter.com/blog/twitter-c\u2026"
}
],
"hashtags": [
],
ad infinitum...
我的问题是,我使用的代码是否适用于非嵌套值:
echo($tweets[$tweet_counter]['created_at']);
如何访问网址?我试过这个:
echo($tweets[$tweet_counter]['entities']['urls']['url']);
答案 0 :(得分:0)
我认为您可以先将json
解码为关联数组
$array = json_decode($json, true); //note the true as second parameter to have decoded as associative array
然后您可以使用范围
访问值$array['created_at'];
$array['entities']['urls']['url'];
答案 1 :(得分:0)
在该格式中,如果没有关于代码的更多信息,您可以执行以下操作:
对象格式
$Data = json_decode($your_json);
$Url = $Data[0]->entities->urls[0]->url;
echo $Url; // returns: https://t.co/MjJ8xAnT
显式数组格式
$Data = json_decode($your_json, TRUE); //<--- note the TRUE here
$Url = $Data[0]['entities']['urls'][0]['url'];
echo $Url; // returns: https://t.co/MjJ8xAnT