使用 PHP 从 URL 获取 JSON 对象

问题描述

我有一个以 JSON 格式提供不同响应的 URL。我需要使用 PHP 获取响应并显示 target_url。 我用这段代码成功地做到了。

<?PHP
        $content = file_get_contents("https://code.directadvert.ru/show.cgi?adp=5357330&json=22");
        $content = utf8_encode($content);
        $result = json_decode($content,true);
        $url = $new['target_url'];

        foreach($result['news'] as $new) {
            echo $new['target_url'];
        }
?>

但我只得到两个相同答案中的一个。每次我都必须以不同的方式接收它。可能是什么问题?

解决方法

您已经有了 JSON .. 不需要循环.. 只需深入到 URL ..

<?php
    $content = file_get_contents("https://code.directadvert.ru/show.cgi?adp=5357330&json=22");
    $content = utf8_encode($content);
    $result = json_decode($content,true);

    $url = $result['news'][0]['target_url'];
    
    echo $url;

当你 json_decode -- 你的 $result 变成:

Array
(
    [news] => Array
        (
            [0] => Array
                (
                    [id] => 10906072
                    [pubdate] => 1602148428
                    [site_name] => fashion2news.com
                    [img] => https://cdn.directadvert.ru/cdn/images/100x100/40/8154740.jpg
                    [target_url] => https://fashion2news.com/tops-tees/diana-gurckaja-pritvorjalas-slepoj-40-let/?utm_medium=MarketGid&utm_source=MarketGid&utm_campaign=MarketGid&utm_term={widget_id}&utm_content=3219275&MarketGid
                    [rating] => 3
                    [title] => Ëîæü è öèíèçì ãîäàìè: ñòðàíà ñìîëêëà,óçíàâ,êåì îêàçàëàñü Ãóðöêàÿ
                    [created] => 1602148428
                    [url] => https://code.directadvert.ru/click/?x=Z8162cWaXn9LS96s2B_LJkN-p8fHQJjfLQ_0_mz4prYJYHjAAs3ju0g8WZ7WYJ_XhxC6dJJXzv-ZQOEYs6qWU1S2E0tjHoxxwhTmEUQ8XxOjvXW_zkKVkGbwg8OyXFW3vtcNSjmyV4BUu7cG9lMNBNiQh7x4WZBMGf9ODf60XOQZJhHU_lLugd4xKLFyqn8qGam46cVP-jnkQfINq3KkvSWh0rr9Q0TJtsKda-Cny04r-XGSb0cSKtKsHnjgkUq51iLgqMavsf-Z2Dp7exnyDA40tNIEKvf-ovZQCZvc3vz1A4f0fTfEtwlQyAV9MlIaDu7-2Lijh0Y1Tmox76ipgGXYHPyRVGpKD2E8Gh5wymj9jVVnMmIEYIqnIeTW0FHf6CLaV1hbziS8reZmfidytR79XxVWIO3puMtYk72qpnR0HcIj2dR8DhkbdC_K6Li0p_k7A5wRmaSF4L4SkyxkihSvV7V-gJif-CgYEzldqB1CkePDs1RWnD3ZTANj8m2FGBBxPPNsWqgROhAAkDLatuyBfYnCB4DSNotVyBNe6oY
                )

        )

)