dongmi4035 2017-02-02 14:21
浏览 36
已采纳

php - 到达空JSON数组[重复]

This question already has an answer here:

I use Microsoft Face API and I want to show data to final user, but how can I use foreach to atteint faceAttributes->age ? There is an example of JSON file

[
    {
        "faceId": "c5c24a82-6845-4031-9d5d-978df9175426",
        "faceRectangle": {
            "width": 78,
            "height": 78,
            "left": 394,
            "top": 54
        },
        "faceAttributes": {
            "age": 71.0,
            "gender": "male",
            "smile": 0.88,
            "facialHair": {
                "mustache": 0.8,
                "beard": 0.1,
                "sideburns": 0.02
                }
            },
            "glasses": "sunglasses",
            "headPose": {
                "roll": 2.1,
                "yaw": 3,
                "pitch": 0
            }
        }
    }
]

I tried this code but not working :

<?php

    $json = file_get_contents('file.json');
    $data =  json_decode($json);
    if (count($data->faceAttributes)) {
        // Cycle through the array
        foreach ($data->faceAttributes as $idx => $faceAttributes) {
            // Output a row
    echo $faceAttributes->age ;
    echo $faceAttributes->gender ;

?>

Thanks !

</div>
  • 写回答

1条回答 默认 最新

  • dtcuv8044 2017-02-02 14:32
    关注

    You don't have to iterate the object using foreach as the 'age' is a property of $data->faceAttributes itself.

    Use this instead

    if (count($data->faceAttributes)) {    
        echo $data->faceAttributes->age;
        echo $data->faceAttributes->gender;
    }
    

    However, $data is an array and which $data you are using is actually $data[0]

    So, if there is only one element in data array you can do

    $data = $data[0] or $data = json_decode($json)[0]
    

    Or, you can iterate through $data in case of more then one element.

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

报告相同问题?

悬赏问题

  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图