Итак, после долгих трех дней я решил еще одну проблему, касающуюся массивов php-to-json. После исправления предыдущей проблемы натолкнулся на другую, которая вызывает прерывание вывода с помощью foreach.
Глядя на var_dump, кажется, есть проблема:
С помощью JSON Lint проверено и возвращено в силе.
Здесь выходная ссылка.
PS: игнорировать json_pretty_print. Я сделал это просто, чтобы увидеть структуру более четко.
[
{
"muid": "IMDBTFKG3MJOZPE0AAVA",
"bandname": "In Hoodies",
"core": {
"joined": "Wed 26 August 2015",
"bandbio": "Broken Tambourine Music",
"genre": "Popular",
"subgenre": "Brit"},
"0": [
"IM5LGM02MFS8RJLKGY9W",
"Marbles For Zen",
{
"joined": "Sun 01 March 2015",
"bandbio": "Zen And Marbles",
"genre": "Rhythm Blues",
"subgenre": "Dixie Rhythm"},
...
"1": [
"IMA3YNBKZQDNR9RBCSRI",
"Frankie Storm",
{
"joined": "Sat 21 February 2015",
"bandbio": "Just registered. Bio coming soon.",
"genre": "Popular",
"subgenre": ""},
Я думаю, что вы немного запутались в структуре здесь:
Похоже, у вас есть массив, который имеет только один элемент, этот элемент является одним гигантским объектом.
Внутри этого объекта находятся свойства, первые три свойства которых muid
, bandname
а также core
, Каждое свойство после этого нумеруется начиная с 0, это, вероятно, основа вашей путаницы. 0
, 1
… это не индексы, это на самом деле свойства исходного объекта, вы можете сказать это, потому что они заключены в двойные кавычки ….
Постановили
Огромное спасибо А.О. для приведения свойства объекта моему вниманию Похоже, конфликт был довольно простым:
Оригинал:
$meso[]=array();
Правильный:
$meso=[];
Так просто, да? Стоит обратить внимание.
После правильного входа в массив, используя
array_push($meso, [( <--- objects here ---> )]);
Производит идеальный результат.
Завершите функцию json_encode а также voilà прекрасный выход.
Ура и счастливого взлома!