curl 从具有“列表/集”的API结果中加载多个项目之一

2lpgd968  于 2022-11-13  发布在  其他
关注(0)|答案(1)|浏览(92)

我有一个API结果,其中包含多张照片的一套/列表/查尔兹(我不知道正确的术语),结果看起来像这样。

"photos":[{"small":"https:\/\/pararius-office-prod.global.ssl.fastly.net\/10379\/files\/photos\/api-little\/52016521.1667319824-357.jpeg?fit=crop&width=100&height=100",
"big":"https:\/\/pararius-office-prod.global.ssl.fastly.net\/10379\/files\/photos\/api-export\/52016521.1667319824-357.jpeg?width=600",
"huge":"https:\/\/pararius-office-prod.global.ssl.fastly.net\/10379\/files\/photos\/api-huge\/52016521.1667319824-357.jpeg?width=1000&fit=bounds",
"middle":"https:\/\/pararius-office-prod.global.ssl.fastly.net\/10379\/files\/photos\/api-middle\/52016521.1667319824-357.jpeg?width=1000&fit=bounds",
"category":"photo"}]

我想拍一张大照片,但我不知道怎么拍。其他的都很好。

我试着用“. $property-〉city .”加载它,但不起作用。

35g0bw71

35g0bw711#

我想你需要从“照片”中得到“大”照片。
我首先将照片数据复制到$results中。

echo '<pre>';

$results = '"photos":[{"small":"https:\/\/pararius-office-prod.global.ssl.fastly.net\/10379\/files\/photos\/api-little\/52016521.1667319824-357.jpeg?fit=crop&width=100&height=100",
"big":"https:\/\/pararius-office-prod.global.ssl.fastly.net\/10379\/files\/photos\/api-export\/52016521.1667319824-357.jpeg?width=600",
"huge":"https:\/\/pararius-office-prod.global.ssl.fastly.net\/10379\/files\/photos\/api-huge\/52016521.1667319824-357.jpeg?width=1000&fit=bounds",
"middle":"https:\/\/pararius-office-prod.global.ssl.fastly.net\/10379\/files\/photos\/api-middle\/52016521.1667319824-357.jpeg?width=1000&fit=bounds",
"category":"photo"}]';
echo "$results\n\n";

然后从第10个字符开始得到一个子字符串,去掉photos:[
删除斜线。
并修剪尾部]
现在我们有了有效的JSON。

$results = stripslashes(trim(substr($results,10),']'));
echo "$results\n\n";

为了确认JSON现在是有效的,我将它转换为数组。

$results = json_decode($results,1);
var_export($results);

然后我得到了“大”照片src。

$src = $results['big'];
echo "\n\nsrc = $src\n\n";
echo '</pre>';

然后展示照片:

echo "<img src=\"$src\" />";

结果:

相关问题