2017-02-07 114 views
1

我有下面的代碼,只是想獲取信息的內部下面和打印StatusPHP訪問JSON響應並打印

"Email": { "Status": "in-queue" }

我真的新到PHP所以我對任何錯誤道歉,學習一門課。

{ 
    "APIResponse": { 
     "ResponseStatus": 1, 
     "Email": { 
      "EmailSid": "12893712893789", 
      "SentEmails": "[email protected]", 
      "Date": "2017-02-07 22:53:26", 
      "Subject": "700message", 
      "Status": "in-queue", 
      "TotalEmailSent": 1, 
      "TotalPrize": "0.0100", 
      "ApiVersion": "2" 
     } 
    } 
} 

我知道如何在JavaScript中做到這一點,但它似乎有點不同的PHP。

任何幫助表示讚賞感謝你們! :)

回答

1

下面是如何將JSON字符串轉換成一個數組,並顯示值的快速PHP例子:

$json = '{ "APIResponse": { "ResponseStatus": 1, "Email": { "EmailSid": "12893712893789", "SentEmails": "[email protected]", "Date": "2017-02-07 22:53:26", "Subject": "700message", "Status": "in-queue", "TotalEmailSent": 1, "TotalPrize": "0.0100", "ApiVersion": "2" } } }'; $array = json_decode($json, true); echo $array['APIResponse']['Email']['Status'];

注意每個子節點是如何成爲關聯數組中一個孩子。您還可以執行print_r($array);以查看本機PHP關聯數組格式的整個結構。

+0

非常感謝你! – TXJ

+0

哦,克里斯先釘了它!投票:) – Stu

0
<?php 
$json = '{ 
    "APIResponse": { 
     "ResponseStatus": 1, 
     "Email": { 
      "EmailSid": "12893712893789", 
      "SentEmails": "[email protected]", 
      "Date": "2017-02-07 22:53:26", 
      "Subject": "700message", 
      "Status": "in-queue", 
      "TotalEmailSent": 1, 
      "TotalPrize": "0.0100", 
      "ApiVersion": "2" 
     } 
    } 
}'; 


// if this API response's JSON is being stored as a string type local variable decode it first. 

$decoded_json = json_decode($json, true); 

//Optional but helps when programing var_dump($decoded_json); Use this to help visualize the nested array variables you need to access. 

// Use each array key to walk into and access the desired value 

echo $decoded_json['APIResponse']['Email']['Status']; 


?> 

*編輯考慮到誤差的基礎上,在您的評論的問題:

,同時仍然確保首先解碼JSON作爲上面提到的,下面應該讓你訪問這些值。

echo $decoded_json['APIResponse']['Errors']['Error'][0]['Code']; 

echo $decoded_json['APIResponse']['Errors']['Error'][0]['Message']; 

最後,更多的建議,如果你曾經難倒。嘗試一次訪問一個數組,從最外層開始,一直工作,總能幫助我!

+0

這個數組裏面呢?我想呼應' 「守則」' ''' { 「APIResponse」:{ 「ResponseStatus」:0, 「錯誤」:{ 「錯誤」: { 「代碼」:「錯誤代碼5001" , 「消息」: 「請輸入正確格式的 '收件人' 電子郵件地址」, 「MoreInfo」:[] } ] } } } ''' 最後一個問題,非常感謝你們! – TXJ