我有一個政府API的JSON輸出,我需要使用PHP顯示它。問題是我無法使用多於一次的foreach,或者它不起作用。我無法將所有標準加載到第一個foreach中,因爲第一個數據ACASS返回3個結果,其後的所有字段將顯示3次。每個字段可能會返回1-10個結果,因此需要有一個可以解釋變量的系統。PHP JSON解析問題
我在想,解決的辦法是將我需要顯示的所有JSON項目放到第一個foreach中,但將它們設置爲僅在顯示它們時才顯示。這或使用我目前的編碼系統,但不知何故帳戶的變數。
任何潛在的解決方案,非常感謝。
這是JSON輸出... https://api.data.gov/sam/v4/registrations/9606040070000?api_key=WI7nHENlp6QDMnWsb0Nnmzsv1slPDTjNM0XBoKvY
下面是我使用的PHP ...
echo "ACASS ID:".$decoded_results['sam_data']['registration']['qualifications']['acass']['id']."</br>";
foreach($decoded_results['sam_data']['registration']['qualifications']['acass']['answers'] as $acass)
{
echo 'Answer Text:'.$acass['answerText'].'</br>';
echo 'ACASS Section:'.$acass['section'].'</br>';
}
$formerfirm = $decoded_results['sam_data']['registration']['qualifications']['acass']['answers'][2]['FormerFirm'];
echo 'Former Firm ID:'.$formerfirm['id'].'</br>';
echo 'Former Firm Year Established:'.$formerfirm['yearEstablished'].'</br>';
echo 'Former Firm Name:'.$formerfirm['name'].'</br>';
echo 'Former Firm DUNS'.$formerfirm['duns'].'</br>';
我盡我所能去明智的保持這種短期和簡單的問題/代碼。總之,問題在於,如果您查看JSON,數據層次會在ACASS/Answers下面顯示大量信息,然後顯示下一個類別。我不知道會有多少迴應,我不知道如何解釋這些變數。
我想感謝這些董事會中的每個人,他們引導我成爲新成員,並幫助我發佈更清晰,更簡潔的問題。同樣感謝所有花時間幫助我學習如何成爲更好的程序員的人。
你確定你想要在這裏的所有數據,包括API中的API密鑰嗎? – Pevara
您是否記得在將結果作爲數組使用之前傳遞第二個參數?例如:'$ decry_results = json_decode($ jsonString,true);' – CarlosCarucce
這些數據是公開可用的,API密鑰是我爲這個purpore準備的,謝謝。我感謝你爲我尋找。還有卡洛斯我不確定我是否跟着你,我以爲我是通過寫前者來做到這一點的[2]。我跳過了第二個參數,只是我沒有考慮到這個事實,可能有超過一個或兩個甚至10個返回的結果。 –