我试图从PHP中this JSON file中提取一段数据,特别是post -> virtuals -> previewImage -> imageId
。我可以访问previewImage
级别的任何内容,但由于某些未知原因,我无法超越这一点:
$data = @file_get_contents("https://medium.com/".$publication_name."/latest?format=json");
$data = str_replace("])}while(1);</x>", "", $data);
$json = json_decode($data);
$posts = $json->payload->posts;
foreach($posts as $post) {
echo $post->virtuals->previewImage->imageId;
...
......没有回音。我可以得到/ echo $post->virtuals->subtitle
。但virtuals
内的任何内容都不会返回任何内容。为什么到地球?
有效载荷的屏幕截图:
答案 0 :(得分:1)
此处没有“帖子”,您需要代替JSONobj->payload->posts[0]->virtuals->previewImage->imageId
。
我尝试过使用json_decode的两个版本:
$jsn2=json_decode($jsnstr);
echo $jsn2->payload->posts[0]->virtuals->previewImage->imageId."\n";
和
$jsn=json_decode($jsnstr,true);
echo $jsn['payload']['posts'][0]['virtuals']['previewImage']['imageId'];
两者都返回:
1*WMPzz4dBjNY7iPB0u2Y3Aw.png
您确定从服务器获得了完整的JSON字符串吗?你有没有回应过它?
答案 1 :(得分:1)