1

サーバーに JSON POST リクエストが送信されています。

このように見えます

{
"order": {
    "id": "5RTQNACF",
    "created_at": "2012-12-09T21:23:41-08:00",
    "status": "completed",
    "total_btc": {
        "cents": 100000000,
        "currency_iso": "BTC"
    },
    "total_native": {
        "cents": 1253,
        "currency_iso": "USD"
    },
    "custom": "order1234",
    "receive_address": "1NhwPYPgoPwr5hynRAsto5ZgEcw1LzM3My",
    "button": {
        "type": "buy_now",
        "name": "Alpaca Socks",
        "description": "The ultimate in lightweight footwear",
        "id": "5d37a3b61914d6d0ad15b5135d80c19f"
    },
    "transaction": {
        "id": "514f18b7a5ea3d630a00000f",
        "hash": "4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b",
        "confirmations": 0
    }
}
}

「cents」またはその他の変数の値を取得するにはどうすればよいですか?

4

4 に答える 4

2

json_decode()このようにデコードする必要があります

$json = json_decode($jsonString);

それはあなたにオブジェクトを与え、それをこのように使うことができます

 echo $json->order->total_btc->cents;
于 2013-07-26T07:07:59.480 に答える
0

これを試して、

// let
$jsondata='{order:{...}}';
$json = json_decode($jsondata,true);
echo $json['order']['total_native']['cents'];
于 2013-07-26T07:10:56.367 に答える
0

送信

$data_string = json_encode(array("customer"=>array("key"=>"val")));
$data_string = urlencode(json_encode($data));
curl_setopt($ch, CURLOPT_POSTFIELDS, array("customer"=>$data_string));

受け取る

$datastring = $_POST['customer'];
$data = json_decode( urldecode( $datastring));
于 2013-07-26T07:17:41.493 に答える
0

受信データをどのように扱うかによって異なります。

Dave Chen が言ったように、 を使用していますが、特定の $_POST インデックス$_POST['order']['total_native']['cents']を使用して、前にそれらをデコードする必要があります。json_decode()

次に、配列またはオブジェクトが必要かどうかを選択します。

$json_obj = json_decode($string);

オブジェクトを返しstdClassます。データを取得するには、これを使用します$json_obj->total_btc->cents

ただし、これは次のとおりです。

$json_arr = json_decode($string, true);

値を取得できる配列を返します$json_arr['order']['total_native']['cents']

于 2013-07-26T07:12:38.497 に答える