我正在使用 PHP 创建一个非常大的多维数组。每个对象都包含名称、ID、ParentID 和 Children。子项是具有相同格式的多个对象的数组。
我命名每个对象的 ID 至关重要——这有助于我将每个对象放在正确的父对象下。(在下面的代码中,我使用 101、102 等)
但是,我遇到的问题是当我使用 JSON 返回数组时json_encode
。每个 'Children' 数组都被打印为一个对象,而不是一个数组 - 如下面的 JSON 代码所示。
正如我在这里的另一个 SO 线程上所读到的,它们“由于包含字符串键而被制成对象” - 尽管它们是数字,但它们仍然是字符串。
{
"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": [