php – json_encode()在多维数组上 – 使用字符串键
发布时间:2020-12-13 17:44:54 所属栏目:PHP教程 来源:网络整理
导读:我正在使用 PHP创建一个非常大的多维数组.每个对象都包含Name,ID,ParentID和Children.子元素是一组具有相同格式的更多对象. 关键是我命名每个对象的ID – 这有助于我将每个对象放在正确的父对象之下. (在下面的代码中,我使用101,102等) 但是,我遇到的问题是
我正在使用
PHP创建一个非常大的多维数组.每个对象都包含Name,ID,ParentID和Children.子元素是一组具有相同格式的更多对象.
关键是我命名每个对象的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","Name": "Child Two","Children": { "104": { "ID": "104","ParentID": "103","Name": "Child Child One" } } }, 有谁知道如何克服这个问题? 编辑:JSON应该如下所示(方括号很重要!): [ { "ID": "101","Name": "Root One","Children": [ { "ID": "102","Name": "Child One","Children": [ 解决方法
JSON数组没有显式索引,它只是一个有序列表.唯一具有命名键的JSON数据结构是一个对象.文字应该使这一点非常明显:
["foo","bar","baz"] 此数组没有命名索引,也没有任何添加任何规定. PHP将列表和键值存储混合为一种数组数据类型. JSON没有. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |