我正在使用PHP创建一个非常大的多维数组。每个对象都包含名称,ID,ParentID和Children。儿童是以相同格式的更多对象的数组。多维数组上的json_encode() - 使用字符串键
这很重要我将每个对象的ID都命名 - 这有助于我将每个对象放在正确的父对象下。 (在下面的代码中,我使用101,102等)
但是,我遇到的问题是当我使用json_encode
在JSON中返回数组。每个'Children'数组都被打印为对象,而不是数组 - 如下面的JSON代码所示。
当我在另一个SO线程here上阅读时,它们“由于包含字符串键而被制成对象” - 虽然它们是数字,但它们仍然是字符串。
{
"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": [
这实际上是因为指数不是连续的,即存在差距。 – 2013-05-07 13:04:34
此外,你的“孩子”ARE对象(从我的角度来看)而不是数组。很高兴,让OOP在你内部流动。 – 2013-05-07 13:20:56