У меня есть этот вывод JSON из правительственного API, мне нужно отобразить его с помощью PHP. Проблема в том, что я не могу использовать foreach больше, чем один раз подряд, или он не работает. Я не могу загрузить все критерии в первый foreach, потому что, скажем, первая часть данных ACASS возвращает 3 результата, все поля после этого будут отображаться 3 раза. Каждое поле может возвращать 1-10 результатов, поэтому должна существовать система, учитывающая переменные.PHP JSON Parsing Issue
Я думаю, что решение состоит в том, чтобы поместить все элементы 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 в URL-адресе? – Pevara
Вы помните, чтобы передать второй параметр перед тем, как работать с результатом в виде массива? ex: '$ decoded_results = json_decode ($ jsonString, true);' – CarlosCarucce
Данные общедоступны, и ключ API - это тот, который я получил только для этой пурпуры, спасибо. Я ценю, что ты смотришь на меня. Также Карлос, я не уверен, что следую за тобой, я думал, что сделал это, написав прежнюю [2]. Я пропустил второй параметр, просто так, как у меня есть, не учитывается тот факт, что в этой позиции может быть больше одного или двух или даже 10 возвращенных результатов. –