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": [