2

可能重复:
在 php 中解析 Json

我使用 API 将提交的用户图像卷曲到远程服务器,响应是 JSON,我不知道如何解析它。

这是我的 php CURL 文件

<?php
$api_key = 'xxxxxx';
$api_secret = 'xxxxx';
$Dirty_uid = $_GET['uid'];
$uid = htmlentities($Dirty_uid);
$Dirty_img = $_GET['img'];
$img = htmlentities($Dirty_img);

$query2 = 'http://rekognition.com/func/api/?api_key='.$api_key.'&api_secret='.$api_secret.'&jobs=face_recognize&urls='.$img.'&name_space=xxx&user_id=xxx';


$ch2 = curl_init();
curl_setopt($ch2, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch2, CURLOPT_URL, $query2);    // get the url contents

$data2 = curl_exec($ch2); // execute curl request
curl_close($ch2);

$json2 = json_decode($data2);
print_r($json2)
?>

这是返回的 JSON 数据示例(通用)

代码:

{
url: "http://farm3.static.flickr.com/2566/3896283279_0209be7a67.jpg",
face_detection: [
  {
      boundingbox:
      {
        tl: {
          x: 50,
          y: 118
         },
         size:{
          width:232;
          height:232;
         }
      }
      name: "mona_lisa:0.92,barack_obama:0.02,mark_zuckerberg:0.01,"
  }
  ]

usage: {
status: "success",
quota: 999,
api_id: "xxx"
}
}

如果 json 字符串显示“名称”,我需要我的脚本仅在数字(在 : 之后高于阈值(现在让我们说 .70)时打印用户名。

我该怎么做呢?我之前使用过 XML api,并且使用代码返回数据很简单:

$xml = simplexml_load_string($data);

类型的东西。

4

1 回答 1

0

你已经拥有了大部分。你已经json_decode编辑了结果。现在您只需要访问数据

$name = $json2->face_detection[0]->name
于 2012-11-29T01:00:46.640 回答