-2

curl を使用して、データを drupal サーバー上の json ファイルに POST しています。私はそれが機能しており、次のような文字列を返します:

{
  "result":"success",
  "user":{
    "uid":"15",
    "theme":"",
    "signature":"",
    "signature_format":"plain_text",
    "created":"1335991710",
    "access":"1363715947",
    "login":1363716262,
    "status":"1",
    "timezone":"America/Los_Angeles",
    "language":"",
    "picture":"0",
    "data":false,
    "uuid":"89847add-54c8-c4b4-5dfc-bddc96e99919",
    "roles":{
      "2":"authenticated user",
      "4":"dOP staff"
    },
    "field_user_client":{
      "und":[
        {
          "nid":"17740"
        }
      ]
    }
  }
}

resultjson文字列の一部を取得しようとしています。文字列をオブジェクトとしてキャストしようとしましたが、うまくいきませんでした。私は次のことを試しました:

<?php
$curlResult = curl_exec($ch);
echo $curlResult->result; //fails
?>

これを機能させるにはどうすればよいですか?

4

2 に答える 2

1

Curlについてはよくわかりませんが、JSON配列のように見えます。php関数json_decode()を使用する必要があるかもしれません。次のようなものを試してください:

<?php
$curlResult = curl_exec($ch);
$array = json_decode($curlResult->result);
echo $array->result;
?>

配列をJSONに戻す必要がある場合は、json_encode()もあります。

于 2013-03-19T18:18:47.690 に答える
1

CURL は本当に必要ですか? これはうまくいくはずです:

<?
$resArray = json_decode($ch, true);
$result = $resArray['result'];
?>
于 2013-03-19T18:17:34.710 に答える