簡體   English   中英

如何JSON格式化數組的數組?

[英]How to JSON format an array of arrays?

我有一個像這樣的基本數組:

[
    {
        "id": 4,
        "name": "Ray"
    },
    {
        "id": 5,
        "name": "Anthony"
    }
]

我需要將一系列這些數組作為單個json消息的一部分返回。 我似乎無法正確地根據: http : //jsonlint.com/ 例如,我有一群人。 每個組都是一個人數組,每個組應該是父級數組的不同元素。 應該如何格式化?

澄清:

group1: ray, anthony
group2: john, mike
group3: ed, dan

等等...

只需對它們進行分組,從PHP創建結構,然后照常使用json_encode() 例:

$groups = array(
    'group1' => array(
        array('id' => 4, 'name' => 'Ray'),
        array('id' => 5, 'name' => 'Anthony'),
    ),
    'group2' => array(
        array('id' => 6, 'name' => 'john'),
        array('id' => 7, 'name' => 'mike'),
    ),
    'group3' => array(
        array('id' => 8, 'name' => 'ed'),
        array('id' => 9, 'name' => 'dan'),
    ),
);

echo '<pre>';
print_r(json_encode($groups, JSON_PRETTY_PRINT));

應該產生如下內容:

{
    "group1": [
        {
            "id": 4,
            "name": "Ray"
        },
        {
            "id": 5,
            "name": "Anthony"
        }
    ],
    "group2": [
        {
            "id": 6,
            "name": "john"
        },
        {
            "id": 7,
            "name": "mike"
        }
    ],
    "group3": [
        {
            "id": 8,
            "name": "ed"
        },
        {
            "id": 9,
            "name": "dan"
        }
    ]
}

我猜這可行:

{
    "g1": [
        {
            "id": 4,
            "name": "Ray"
        },
        {
            "id": 5,
            "name": "Anthony"
        }
    ],
    "g2": [
        {
            "id": 4,
            "name": "Mike"
        },
        {
            "id": 5,
            "name": "John"
        }
    ]
}

我喜歡這樣:

var  groups = [
"G1" : {
    "11" : {
        "id" : 11,
        "name" : "jhon"
    },
    "3" : {
        "id" : 3,
        "name" : "erik"
    }
},
"G2" : {
    "8" : {
        "id" : 8,
        "name" : "jean"
    },
    "4" : {
        "id" : 4,
        "name" : "jim"
    }
}
]

在任何組中,任何對象的關鍵是人的ID(字符串格式),以便於訪問其數據。

恩。

group.G2[8]; // return jean object

PHP格式:

$g = array(
    'G1' => array(
        '11' => array('id' => 11, 'name' => 'jhon'),
        '3' =>array('id' => 3, 'name' => 'erik')
    ),
    'G2' => array(
        '8' => array('id' => 8, 'name' => 'jean'),
        '4' => array('id' => 4, 'name' => 'jim')
    )
);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM