2017-02-13 8 views
0

を使用して、別のJSONオブジェクト内のJSONオブジェクトに配列を変換:私は、以下のJSON出力を取得していますPHP

{ 
"clientCorrelator": "58a1acaf3ebf0", 
"referenceCode": "REF-12345", 
"endUserId": "263774705932", 
"transactionOperationStatus": "Charged", 
"paymentAmount": { 
    "0": { 
     "amount": 34, 
     "currency": "USD", 
     "description": "Ecofarmer Bulk Sms Online payment" 
    } 
}, 
"chargeMetaData": { 
    "channel": "WEB", 
    "purchaseCategoryCode": "Online Payment", 
    "onBeHalfOf": "Paynow Topup" 
}, 
"merchantCode": "42467", 
"merchantPin": "1357", 
"merchantNumber": "771999313" 

}

を私はJSONオブジェクトに以下の出力が、何とか私のPHPを取得したいです変換は「充電情報」キーを「0」に変えている。

$payment_amount = array(
$charginginformation = array(
    'amount' => 34, 
    'currency' => 'USD', 
    'description' => 'Ecofarmer Bulk Sms Online payment' 
) 

); 

$charge_data = array(
    'channel' => 'WEB', 
    'purchaseCategoryCode' => 'Online Payment', 
    'onBeHalfOf' => 'Paynow Topup' 
); 


//API Url 
$url = ''; 

//Initiate cURL. 
$ch = curl_init($url); 

//The JSON data. 
$jsonData = array(
    'clientCorrelator' => $u_id, 
    'referenceCode' => 'REF-12345', 
    'endUserId' => '263774705932', 
    'transactionOperationStatus' => 'Charged', 
    'paymentAmount' => $payment_amount, 
    'chargeMetaData' => $charge_data, 
    'merchantCode' => '42467', 
    'merchantPin' => '1357', 
    'merchantNumber' => '771999313' 
); 

//Encode the array into JSON. 
$jsonDataEncoded = json_encode($jsonData, JSON_FORCE_OBJECT); 

どのようにしてjson_encodeがキーを変更できなくなるのですか?

+0

言うapi'タグ ' "使用しないでください:あなたが意味する図書館に[api-design]などの代わりに適切なタグを付けてください。"おそらく 'php json'がもっと適切でしょう。 –

+0

ありがとうございます。注目 – tendaitakas

答えて

1

あなたの問題はここにある:あなたがこれを行う動作させるために数値インデックス

で配列に要素を追加している

$payment_amount = array(
    //this is essentially array("cat", "dog", "etc"); 
    $charginginformation = array(
     'amount' => 34, 
     'currency' => 'USD', 
     'description' => 'Ecofarmer Bulk Sms Online payment' 
    ) 
); 

$payment_amount = array(
    "charginginformation" => array(
     //array data 
    ) 
); 
関連する問題