【问题标题】:Get all values from JSON array从 JSON 数组中获取所有值
【发布时间】:2015-04-22 05:22:53
【问题描述】:

您好,谁能帮我获得所有价值“clickUrl”, 我正在使用 file_get_content 函数,我想将它包装在 html 中

<?php 
$json_url = "someone.web.id";
$json = file_get_contents($json_url);
$json=str_replace('},]',"}]",$json);
$data = json_decode($json);

echo "<pre>";
print_r($data);
echo "</pre>";
?>

我的结果是

stdClass Object
(
    [serialId] => 110153837
    [productId] => 212065382
    [os] => Linux
    [validResponse] => 1
    [errorMessage] => 
    [adsDetails] => Array
        (
            [0] => stdClass Object
                (
                    [requestTimestamp] => 1429665317403
                    [adId] => SAP_272131
                    [clickUrl] => http://adtrack.king.com
                 )
             [1] => stdClass Object
                (
                    [requestTimestamp] => 1429679659674
                    [adId] => SAP_182149
                    [clickUrl] => market://details?id    
                 )
             [2] => stdClass Object
                (
                    [requestTimestamp] => 1429679659674
                    [adId] => SAP_552219
                    [clickUrl] => http://t.mobitrk.com
                )   
            [3] => stdClass Object
                (
                    [requestTimestamp] => 1429679659674
                    [adId] => SAP_562515
                    [clickUrl] => https://app.adjust.io
                )
        )
)
    

我不知道为什么我之前的帖子被 meagar 删除了

【问题讨论】:

  • 您可以将第二个参数作为true 传递给json_decode($json, true);,这样您将获得关联数组,而不是更容易操作

标签: php arrays json


【解决方案1】:

根据您的信息,您可以通过以下方式获取数组:

$clickUrls = array_map(function($val) {
  return $val->clickUrl;
}, $data->adsDetails);

【讨论】:

  • 感谢您的回答,但我可以把代码放在哪里(如果我的问题很愚蠢,我是新手,很抱歉)
【解决方案2】:

从 stdobject 更改为数组并围绕它循环。

要将 JSON 作为数组接收,只需更改以下内容:

$data = json_decode($json);

到这个:

$data = json_decode($json,true);

然后,循环...

foreach ($data['adsDetails'] as $innerArray) {
   echo $innerArray['requestTimestamp'].'<br>';
   echo $innerArray['adId'].'<br>';
   echo $innerArray['clickUrl'].'<br>';
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-11
    • 2020-07-10
    • 1970-01-01
    • 2023-03-05
    • 2020-01-18
    • 2013-12-24
    • 1970-01-01
    • 2016-01-18
    相关资源
    最近更新 更多