#php #json
#php #json
Вопрос:
В настоящее время я получаю доступ к json API. Я получаю в ответ json-данные, подобные этому.
{
"fileName":null,
"fileUrl":[
"U2FsdGVkX1-uM6l4RxCWpIiXiCglblQ45V61bTVvuRC2H3ru72DjM0I337iegtL0eG7-t_H_CEeMrc3vopGkVA",
"U2FsdGVkX19AX2GGMh_dy71pYYNjgI5Dp1doC58zYqbZbjz02KWdVn5BXjiLcOqjLcgHgKFiOvLQXbRMTzVMJUATPQGh-zMmWaUtUJ0gveLvKOaX3FkM33ZrblwISSBZeocZHxIVxOR1jFpUf9HmuQ",
"U2FsdGVkX1_XwHvpVBapqhs4fw-6SlUcF8U7rXFxdWTBWeKU7mxQwi1rh9Hor4wPLhQub_qFIprhH59iM90CGsiomMuRmv6cfFBrDzIUkyIEUf83-uBin8L6SWGoyZrQpB6jdAt_elGnS3lYp-TUGg",
"U2FsdGVkX1-dlLo5wNZpACpERA7aJz-hzegQZ7VGl_uSn9fle1ykAud-ax2kqVhYsmDMJoYbogX9--WFFhAkXCoulHX2wGeD1_N1uvoZvd6-B-4EBmwguntVKHZo3BExZCz0OmRG65gBBXCcV7M10g",
"U2FsdGVkX1-11v5vUHoO1Yx7Pbsz1OgR4PkmFMHBcw2YO6gQanKg6NL6jLUVF1AqOK5nmTAazur7SZtjIRatJ3_NVR7Q4ya7rZbkXdEIslJKp6hpkgASbJ1hUAWKoNgjoxUEs2FclnQyiTDHntlCUQ"
],
"categoryId":"1110"
}
Когда я пытаюсь декодировать json, чтобы получить все fileURL. Он отображает только первые данные в fileURL[0]. В данном случае это U2FsdGVkX1-uM6l4RxCWpIiXiCglblQ45V61bTVvuRC2H3ru72DjM0I337iegtL0eG7-t_H_CEeMrc3vopGkVA
Я думаю, что для foreach должен быть object или array, а не string. Как получить все fileURL в этом массиве?
Вот мой код
$fileUrl = json_decode($jsonData)->fileUrl;
foreach ($fileUrl as $url) {
print_r($url);
}
Комментарии:
1. код, который вы пробовали????
2. Пожалуйста, поделитесь своим кодом, который использовался для декодирования.
3. $fileURL = json_decode($jsonData)->fileURL; foreach ($fileURL как $url) { print_r($url); }
4. вы получите все URL-адреса в виде объекта в переменной fileURL, и если вы передадите true в функции json_decode, вы получите его массив в соответствии с вашим текущим кодом.
Ответ №1:
Сделайте это следующим образом
$fileUrls = json_decode($jsonData, true)['fileUrl'];
foreach($fileUrls as $url) {
echo $url."nn";
}
рабочий пример здесь
Комментарии:
1. Я внес изменение, и оно работает как по волшебству. Спасибо! notepad.pw/c7zc31xw
Ответ №2:
Вы можете попробовать следующим образом:
$json = '{"fileName":null,"fileUrl":["U2FsdGVkX1-uM6l4RxCWpIiXiCglblQ45V61bTVvuRC2H3ru72DjM0I337iegtL0eG7-t_H_CEeMrc3vopGkVA","U2FsdGVkX19AX2GGMh_dy71pYYNjgI5Dp1doC58zYqbZbjz02KWdVn5BXjiLcOqjLcgHgKFiOvLQXbRMTzVMJUATPQGh-zMmWaUtUJ0gveLvKOaX3FkM33ZrblwISSBZeocZHxIVxOR1jFpUf9HmuQ","U2FsdGVkX1_XwHvpVBapqhs4fw-6SlUcF8U7rXFxdWTBWeKU7mxQwi1rh9Hor4wPLhQub_qFIprhH59iM90CGsiomMuRmv6cfFBrDzIUkyIEUf83-uBin8L6SWGoyZrQpB6jdAt_elGnS3lYp-TUGg","U2FsdGVkX1-dlLo5wNZpACpERA7aJz-hzegQZ7VGl_uSn9fle1ykAud-ax2kqVhYsmDMJoYbogX9--WFFhAkXCoulHX2wGeD1_N1uvoZvd6-B-4EBmwguntVKHZo3BExZCz0OmRG65gBBXCcV7M10g","U2FsdGVkX1-11v5vUHoO1Yx7Pbsz1OgR4PkmFMHBcw2YO6gQanKg6NL6jLUVF1AqOK5nmTAazur7SZtjIRatJ3_NVR7Q4ya7rZbkXdEIslJKp6hpkgASbJ1hUAWKoNgjoxUEs2FclnQyiTDHntlCUQ"],"categoryId":"1110"}';
$jsonObj = json_decode($json);
echo $jsonObj->fileUrl[0];