json_encode () na tablicy wielowymiarowej - z kluczami łańcuchowymi

Tworzę bardzo dużą tablicę wielowymiarową przy użyciu PHP. Każdy obiekt zawiera nazwę, identyfikator, identyfikator nadrzędny i dzieci. Dzieci to szereg innych obiektów w tym samym formacie.

Najważniejsze jest, aby nazwać identyfikatory każdego obiektu - to pomaga mi umieścić każdy obiekt pod właściwym rodzicem. (W poniższym kodzie używam 101, 102 itd.)

Jednak problem mam, gdy zwracam tablicę w JSON za pomocąjson_encode. Każda tablica „Dzieci” jest drukowana jako obiekt, a nie tablica - jak pokazano w kodzie JSON poniżej.

Jak czytam na innym wątku SOtutaj, „są wykonane jako obiekty z powodu włączenia kluczy łańcuchowych” - mimo że są to liczby, nadal są łańcuchami.

{
"101": {
    "ID": "101",
    "ParentID": "0",
    "Name": "Root One"
    "Children": {
        "102": {
            "ID": "102",
            "ParentID": "101",
            "Name": "Child One"
        },
        "103": {
            "ID": "103",
            "ParentID": "101",
            "Name": "Child Two",
            "Children": {
                "104": {
                    "ID": "104",
                    "ParentID": "103",
                    "Name": "Child Child One"
                }
            }
        },

Czy ktoś wie, jak rozwiązać ten problem?

Edytować: JSON powinien wyglądać następująco (nawiasy kwadratowe są ważne!):

[
{
    "ID": "101",
    "ParentID": "0",
    "Name": "Root One",
    "Children": [
        {
            "ID": "102",
            "ParentID": "101",
            "Name": "Child One",
            "Children": [

questionAnswers(4)

yourAnswerToTheQuestion