2016-04-25 9 views
0

Ich möchte diese JSON-Details dynamic.currently seine static.als ein Beispiel möchte ich einige PHP-Variablen für diese json deklarieren.Zuweisen von Json zu PHP-Variablen

ist hier mein Code

$body = '{ 
    "outboundSMSMessageRequest": { 
    "address": [ 
     "tel:+9456654978" 
    ], 

    "senderAddress": "tel:+95623654978", 
    "outboundSMSTextMessage": { 
     "message": "Welcome to fgf Your Confirmation Code - " 
    }, 

    "clientCorrelator": "", 
    "receiptRequest": { 
     "notifyURL": "", 
     "callbackData": "" 
    }, 
    "senderName": "" 
    } 
}'; 

Wie hier können Sie sehen, json zum $ erklärt hat body.what i getrennte Variablen wie $ message, $ Adresse $ Senderaddress tun möchte, ist zu machen und ordnen sie zu $ ​​Körper. Wie kann ich das machen?

+0

können Sie sie nach hinzufügen, nachdem das Hinzufügen tun die Wieder wandeln die 'json' zu' array' konvertieren für wieder die json zu bekommen. –

+0

Erstellen Sie ein Array, das Sie für Json benötigten, und verwenden Sie dann 'json_encode' –

Antwort

2

Anfängliche Json:

$body = '{ 
     "outboundSMSMessageRequest": { 
     "address": [ 
      "tel:+9456654978" 
     ], 

     "senderAddress": "tel:+95623654978", 
     "outboundSMSTextMessage": { 
      "message": "Welcome to fgf Your Confirmation Code - " 
     }, 

     "clientCorrelator": "", 
     "receiptRequest": { 
      "notifyURL": "", 
      "callbackData": "" 
     }, 
     "senderName": "" 
     } 
    }'; 

Decode json TO ARRAY

ich der zweite Parameter als wahr, weil ich das Array als assoziative benötigen.

$arr = json_decode($body, true); 

nun die notwendigen Wert einzufügen:

$arr['outboundSMSMessageRequest']['address'] = "tel:+1234567890"; 
$arr['outboundSMSMessageRequest']['senderAddress'] = "tel:+0987654321"; 

$arr['outboundSMSMessageRequest']['outboundSMSTextMessage']['message'] = "test message"; 

nun das Array Encode

$body = json_encode($arr); 

Output

JSon

Ergebnis

{"outboundSMSMessageRequest":{"address":"tel:+1234567890","senderAddress":"tel:+0987654321","outboundSMSTextMessage":{"message":"test message"},"clientCorrelator":"","receiptRequest":{"notifyURL":"","callbackData":""},"senderName":""}} 
Verwandte Themen