drde3456 2015-11-04 18:23
浏览 397
已采纳

PHP如何检测JSON解码部分是对象还是数组

I have JSON :

{
    "catalogs": [
        {
            "aa" : "aa",
            "bb" : "bb"
        },
        [
            {
                "cc" : "cc",
                "dd" : "dd"
            },
            {
                "ee" : "ee",
                "ff" : "ff"
            }
        ]
    ]
}

And PHP code :

<?php 

$catalogs = file_get_contents('test.json');
$catalogs = json_decode( preg_replace('/[\x00-\x1F\x80-\xFF]/', '', $catalogs), true );

$catalogs = $catalogs['catalogs'];
foreach($catalogs as $catalog){
    echo gettype($catalog) . '<br/>';
}

Output is:

array
array

But I need something like:

object
array
  • 写回答

1条回答 默认 最新

  • douou1872 2015-11-04 18:28
    关注

    decoding JSON as object work:

    <?php 
    
    $catalogs = file_get_contents('test.json');
    $catalogs = json_decode( preg_replace('/[\x00-\x1F\x80-\xFF]/', '', $catalogs) );
    
    $catalogs = $catalogs->catalogs;
    foreach($catalogs as $catalog){
        echo gettype($catalog) . '<br/>';
    }
    

    Output:

    object
    array
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 在获取boss直聘的聊天的时候只能获取到前40条聊天数据
  • ¥20 关于URL获取的参数,无法执行二选一查询
  • ¥15 液位控制,当液位超过高限时常开触点59闭合,直到液位低于低限时,断开
  • ¥15 marlin编译错误,如何解决?
  • ¥15 有偿四位数,节约算法和扫描算法
  • ¥15 VUE项目怎么运行,系统打不开
  • ¥50 pointpillars等目标检测算法怎么融合注意力机制
  • ¥20 Vs code Mac系统 PHP Debug调试环境配置
  • ¥60 大一项目课,微信小程序
  • ¥15 求视频摘要youtube和ovp数据集