Нужна помощь с проблемами JSON

Я с этой проблемой на PHP, когда я пытаюсь преобразовать массив в json У меня есть рекурсивная функция, которая строит массив для кодирования его в формате jSon.

Это массив:

$data = array( array('id' => 1, 'parent_id' => null, 'text' => 'lorem ipsum'), array('id' => 2, 'parent_id' => 1, 'text' => 'lorem ipsum1'), array('id' => 3, 'parent_id' => 1, 'text' => 'lorem ipsum2'), array('id' => 4, 'parent_id' => 2, 'text' => 'lorem ipsum3'), array('id' => 5, 'parent_id' => 3, 'text' => 'lorem ipsum4'), array('id' => 6, 'parent_id' => null, 'text' => 'lorem ipsum5'), ); 

Это моя функция:

 function trataArray($data) { $itemsByReference = array(); // Build array of item references: foreach ($data as $key => &$item) { $itemsByReference[$item['id']] = &$item; // Children array: $itemsByReference[$item['id']]['children'] = array(); // Empty data class (so that json_encode adds "data: {}" ) $itemsByReference[$item['id']]['data'] = new StdClass(); } // Set items as children of the relevant parent item. foreach ($data as $key => &$item) if ($item['parent_id'] && isset($itemsByReference[$item['parent_id']])) $itemsByReference [$item['parent_id']]['children'][] = &$item; // Remove items that were added to parents elsewhere: foreach ($data as $key => &$item) { if ($item['parent_id'] && isset($itemsByReference[$item['parent_id']])) unset($data[$key]); } // Encode: return $data; не function trataArray($data) { $itemsByReference = array(); // Build array of item references: foreach ($data as $key => &$item) { $itemsByReference[$item['id']] = &$item; // Children array: $itemsByReference[$item['id']]['children'] = array(); // Empty data class (so that json_encode adds "data: {}" ) $itemsByReference[$item['id']]['data'] = new StdClass(); } // Set items as children of the relevant parent item. foreach ($data as $key => &$item) if ($item['parent_id'] && isset($itemsByReference[$item['parent_id']])) $itemsByReference [$item['parent_id']]['children'][] = &$item; // Remove items that were added to parents elsewhere: foreach ($data as $key => &$item) { if ($item['parent_id'] && isset($itemsByReference[$item['parent_id']])) unset($data[$key]); } // Encode: return $data; 

}

Это мой json, но у этого json есть ошибки:

 { "0": // Problem here... T_T { "id": 1, "parent_id": null, "name": "lorem ipsum", "children": [ { "id": 2, "parent_id": 1, "name": "lorem ipsum1", "children": [ { "id": 4, "parent_id": 2, "name": "lorem ipsum3", "children": [], "data": {} } ], "data": {} }, { "id": 3, "parent_id": 1, "name": "lorem ipsum2", "children": [ { "id": 5, "parent_id": 3, "name": "lorem ipsum4", "children": [], "data": {} } ], "data": {} } ], "data": {} }, "5": // And here... T_T { "id": 6, "parent_id": null, "name": "lorem ipsum5", "children": [], "data": {} } } 

Строки «0»: и «5»: вызывают ошибку при разметке json. Я попытался удалить его с помощью preg_replace, но я ужасно работаю с регулярными выражениями. Кто-то может мне помочь …: D

Спасибо, парни!


У меня была идея … 🙂

Я искал способы протестировать thins shit …: D И у меня есть идея, получить JSON из плагина и ENCODE это как один массив и напечатать его, чтобы посмотреть, что мне нужно будет дать JSON Encode, чтобы дать мне правильная вещь.

Он воспроизводит его:

  Array ( [0] => stdClass Object ( [id] => 1 [text] => City [children] => Array ( [0] => stdClass Object ( [id] => 11 [text] => Wyoming [children] => Array ( [0] => stdClass Object ( [id] => 111 [text] => Albin ) [1] => stdClass Object ( [id] => 112 [text] => Canon ) [2] => stdClass Object ( [id] => 113 [text] => Egbert ) ) ) [1] => stdClass Object ( [id] => 12 [text] => Washington [state] => closed [children] => Array ( [0] => stdClass Object ( [id] => 121 [text] => Bellingham ) [1] => stdClass Object ( [id] => 122 [text] => Chehalis ) [2] => stdClass Object ( [id] => 123 [text] => Ellensburg ) [3] => stdClass Object ( [id] => 124 [text] => Monroe ) ) ) ) ) ) 

JSON его база на OBJECTS, я думаю, что ее там ошибка, я пытаюсь работать с массивами и преобразовывать ее, когда данные ее являются объектом.

Кто-то знает, как создать что-то подобное? Просто способ, которым я могу думать … Спасибо, ребята …

: DDD

Solutions Collecting From Web of "Нужна помощь с проблемами JSON"