PHP-TO-JSON No Array [0]?



所以,在漫长的三天之后,我的另一个问题得到了解决,关于php-to-json数组。自从修复了之前的问题后,我遇到了另一个使用foreach导致输出中断的问题。

查看var_dump,似乎有一个问题:

  1. 第一个数组不为0,但包含所有命名的键。
  2. 此后数组编号:0,1等,但没有命名键。
  3. 第一个以连续整数"1"在输出的末尾重复。

使用JSON Lint测试并返回有效。这是输出链接。

PS:忽略json_pretty_print。我这样做只是为了把结构看得更清楚。

[
{
    "muid": "IMDBTFKG3MJOZPE0AAVA",
    "bandname": "In Hoodies",
    "core": {
        "joined": "Wed 26 August 2015",
        "bandbio": "Broken Tambourine Music",
        "genre": "Popular",
        "subgenre": "Brit"
    },
 "0": [
        "IM5LGM02MFS8RJLKGY9W",
        "Marbles For Zen",
        {
            "joined": "Sun 01 March 2015",
            "bandbio": "Zen And Marbles",
            "genre": "Rhythm Blues",
            "subgenre": "Dixie Rhythm"
        },
...
"1": [
    "IMA3YNBKZQDNR9RBCSRI",
    "Frankie Storm",
    {
        "joined": "Sat 21 February 2015",
        "bandbio": "Just registered. Bio coming soon.",
        "genre": "Popular",
        "subgenre": ""
    },

我想你对这里的结构有点困惑:

看起来你有一个只有一个元素的数组,这个元素是一个巨大的对象。

对象的内部是属性,前三个属性是muid, bandnamecore。之后的每个属性都从0开始计算,这可能是你困惑的根源。0, 1…它们不是索引,而是原始对象的属性它们被双引号括起来....

已解决

非常感谢A.O.让我注意到对象的属性。看起来冲突很简单: 原始:

$meso[]=array();

正确的:

$meso=[];

这么简单,是吗?注意是值得的。在正确的数组入口之后,使用

array_push($meso, [( <--- objects here ---> )]);

产生完美的结果。使用json_encode volilom 完成该函数,输出很漂亮。

干杯,快乐的黑客!

相关内容

  • 没有找到相关文章

最新更新