json_encode () для многомерного массива - со строковыми ключами

Я создаю очень большой многомерный массив с использованием PHP. Каждый объект содержит имя, идентификатор, идентификатор родителя и дочерние элементы. Children - это массив других объектов в одном формате.

Крайне важно, чтобы я назвал идентификаторы каждого объекта - это помогает мне поставить каждый объект под правильным родителем. (В приведенном ниже коде я использую 101, 102 и т. Д.)

Тем не менее, проблема у меня возникает, когда я возвращаю массив в JSON, используяjson_encode, Каждый массив «Дети» печатается как объект, а не как массив - как показано в коде JSON ниже.

Как я читаю на другой так веткеВотони «сделаны как объекты из-за включения строковых ключей» - хотя они являются числами, они все же являются строками.

{
"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"
                }
            }
        },

Кто-нибудь знает, как преодолеть эту проблему?

Редактировать: JSON должен выглядеть следующим образом (квадратные скобки важны!):

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

Ответы на вопрос(4)

Ваш ответ на вопрос