Как декодировать объект Json в laravel и применить цикл foreach к этому в laravel
Я получаю этот запрос.
{ "area": [
{
"area": "kothrud"
},
{
"area": "katraj"
}
]
}
и я хочу предоставить ответ на это путем поиска записей в базе данных на основе вышеуказанного запроса. как я буду декодировать выше массива json и использовать каждое поле области отдельно.
2 ответов
ваша строка не является допустимым JSON для начала.
действительный json будет,
{
"area": [
{
"area": "kothrud"
},
{
"area": "katraj"
}
]
}
если вы json_decode
, он уступит,
stdClass Object
(
[area] => Array
(
[0] => stdClass Object
(
[area] => kothrud
)
[1] => stdClass Object
(
[area] => katraj
)
)
)
обновление: использовать
$string = '
{
"area": [
{
"area": "kothrud"
},
{
"area": "katraj"
}
]
}
';
$area = json_decode($string, true);
foreach($area['area'] as $i => $v)
{
echo $v['area'].'<br/>';
}
выход:
kothrud
katraj
обновление #2:
для этого true
:
если true, возвращаемые объекты будут преобразованы в ассоциативные массивы. за дополнительной информацией, нажмите здесь
можно использовать json_decode
функции
foreach (json_decode($response) as $area)
{
print_r($area); // this is your area from json response
}
посмотреть этот скрипка