0

Unirest ライブラリを使用して応答を取得しています。データを分離する必要があるため、そのデータに基づいて次のクエリを呼び出すことができます。これは、Unirest ライブラリの使用中に取得した完全な json 応答です。

echo '<pre>'; print_r($response->raw_body); echo '</pre>';

    {
  "status": "success",
  "images": [
    "http://www.example.com/12.jpg"
  ],
  "photos": [
    {
      "url": "http://www.example.com/12.jpg",
      "width": 205,
      "tags": [
        {
          "confidence": 0.978945010372561,
          "center": {
            "y": 64,
            "x": 129
          },
          "height": 79,
          "width": 79,
          "tid": "31337",
          "attributes": [
            {
              "smile_rating": 0.56,
              "smiling": true,
              "confidence": 0.56
            }
          ],
          "uids": [
            {
              "confidence": 0.35399999999999998,
              "prediction": "SE2",
              "uid": "SE2@SEA1"
            },
            {
              "confidence": 0.28999999999999998,
              "prediction": "SE1",
              "uid": "SE1@SEA1"
            },
            {
              "confidence": 0.16,
              "prediction": "Star1",
              "uid": "Star1@SEA1"
            },
            {
              "confidence": 0.106,
              "prediction": "SE3",
              "uid": "SE3@SEA1"
            },
            {
              "confidence": 0.037999999999999999,
              "prediction": "SE6",
              "uid": "SE6@SEA1"
            },
            {
              "confidence": 0.035000000000000003,
              "prediction": "SE5",
              "uid": "SE5@SEA1"
            },
            {
              "confidence": 0.017999999999999999,
              "prediction": "SE4",
              "uid": "SE4@SEA1"
            }
          ]
        }
      ],
      "height": 206
    }
  ]
}

私がしようとしているのは、このように印刷することです

Confidence : 0.35399999999999998
Similar: Test2
4

2 に答える 2

0

有効な JSON 文字列であれば、単純なjson_decode()withtrueフラグを使用して配列を返すだけです。例:

$data = json_decode($response->raw_body, true);
$i = 0;
foreach($data['photos'][0]['tags'][0]['uids'] as $value) {
    if($i == 5) break;
    echo 'Confidence: ' . $value['confidence'] . '<br/>';
    echo 'Similar: ' . $value['prediction'] . '<br/><br/>';
    $i++;
}
于 2014-08-19T07:10:25.240 に答える