Получаю вот такой JSON:
{
"shops":"[
{
"id":68,
"name":"ТЦ МЕГА Уфа",
"address":"Уфа, ул. Рубежная, д. 174, ТЦ МЕГА Уфа",
"modeWork":"Ежедневно с 10:00 до 22:00",
"url":"https://www.mvideo.ru/shops/S356",
"latitude":54.674,
"longitude":55.929,
"chainStore":{
"id":1,
"name":"М.Видео",
"type":"1",
"imagePath":null
}
},
{
"id":105,
"name":"ЦТиР Мир",
"address":"Уфа, пр-т Октября, д. 4/1, ЦТиР Мир",
"modeWork":"Ежедневно с 10:00 до 22:00",
"url":"https://www.mvideo.ru/shops/S110",
"latitude":54.74,
"longitude":55.986,
"chainStore":{
"id":1,
"name":"М.Видео",
"type":"1",
"imagePath":null
}
}
]"
}
Онлайн валидаторы пишут, что он не валидный, ошибка syntax
. В чем ошибка?
Вот так я его получаю:
function getAllShops($locality_id, $query){
...
$shops = array();
$chain_store = array();
while($stmt->fetch()){
$temp = array();
$temp['id'] = $id;
$temp['name'] = $name;
$temp['address'] = $address;
$temp['modeWork'] = $modeWork;
$temp['url'] = $url;
$temp['latitude'] = $latitude;
$temp['longitude'] = $longitude;
$chain_store['id'] = $chain_stores_id;
$chain_store['name'] = $chain_stores_name;
$chain_store['type'] = $chain_stores_type;
$chain_store['imagePath'] = $chain_stores_imagePath;
$temp['chainStore'] = $chain_store;
array_push($shops, $temp);
}
return json_encode($shops);
}
Место, где вызывается этот метод:
$response->getBody()->write(json_encode(array("shops" => $shops)));
Если что, использую Slim
для написания API
.
У вас в значении не массив а строка получается, нужно заменить:
"shops":"[
На
"shops":[
И так же убрать символ "
в конце массива.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Настраиваю приложение которое будет получать посты со стены публичной страницы и постить на сайте, столкнулся с некоторыми непонятностями,...
У меня есть изображения base64Я шифрую и потом дешифровываю эти изображения