[英]PHP Retrieve Value from Nested JSON Array
我正在使用以下 JSON Object:
{
"body": {
"subject": "Lorem ipsum dolor sit amet, consectetur adipiscing elit",
"to": [
{
"location": "Hawthorne, CA",
"name": "Jeff Daniels",
"phoneNumber": "+15552123456",
"target": true
}
],
"type": "SMS"
},
"uuid": "5797377010673708914"
}
我正在嘗試檢索某些值,但無法計算出獲取 to phoneNumber 值的語法。 到目前為止,這是我正在做的事情:
$webhook= json_decode( $webhookJSON, TRUE );
$subject = $webhook['body']['subject'];
$toPhoneNumber = $webhook['body']['to']['phoneNumber'];
我得到$subject
但不是$toPhoneNumber
。 我嘗試在幾個地方添加[0]
以獲取數組的第一個成員,但這也不起作用,在這個階段,我很難理解如何從嵌套數組中獲取 to phoneNumber 值。
您添加[0]
的方式是正確的。 我強烈建議,如果您不確定,您應該使用print_r()
仔細檢查數組的結構。 它會給你這個:
Array
(
[body] => Array
(
[subject] => Lorem ipsum dolor sit amet, consectetur adipiscing elit
[to] => Array
(
[0] => Array
(
[location] => Hawthorne, CA
[name] => Jeff Daniels
[phoneNumber] => +15552123456
[target] => 1
)
)
[type] => SMS
)
[uuid] => 5797377010673708914
)
如您所見,您可以通過以下方式訪問電話號碼
$toPhoneNumber = $webhhok['body']['to'][0]['phoneNumber'];
原因是,每次使用[]
時,您都會在 json 中啟動一個數組。 這就是為什么您需要使用索引來訪問元素的原因。
當您負責 json 時,我建議您移除陣列,因為您不需要它,除非您想要有多個接收者:
{
"body": {
"subject": "Lorem ipsum dolor sit amet, consectetur adipiscing elit",
"to": {
"location": "Hawthorne, CA",
"name": "Jeff Daniels",
"phoneNumber": "+15552123456",
"target": true
},
"type": "SMS"
},
"uuid": "5797377010673708914"
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.