簡體   English   中英

json內的分組元素

[英]group elements inside a json

我正在嘗試制作一個看起來像這樣的json:

{
    "data": {
        "error_message": "",
        "data": {
            "person": [
                [
                    {
                        "name": "teset1",
                        "image": "http://test.co.il/test/icons/billadress.png"
                    },
                    {
                        "name": "test2",
                        "image": "http://test.co.il/test/icons/email.png"
                    },
                    {
                        "name": "test3",
                        "image": "http://test.co.il/test/icons/homeicon.png"
                    }
                ],
                [
                    {
                        "name": "a",
                        "image": "http://test.co.il/shay/keykit/icons/billadress.png"
                    },
                    {
                        "name": "b",
                        "image": "http://test.co.il/shay/keykit/icons/email.png"
                    },
                    {
                        "name": "c",
                        "image": "http://dvns.co.il/shay/keykit/icons/homeicon.png"
                    }
                ],
                [
                    {
                        "name": "a",
                        "image": "http://test.co.il/test/icons/billadress.png"
                    },
                    {
                        "name": "b",
                        "image": "http://test.co.il/test/icons/email.png"
                    },
                    {
                        "name": "c",
                        "image": "http://dvns.co.il/test/icons/homeicon.png"
                    }
                ],

            ]
        }
    },

}

這是我從mysql查詢中獲取名稱和圖像后使用的代碼:

$response = $this->_db->query($query)->result_array();
$icons_results = array();

$obj = new stdclass();
foreach ($response as $key => $response) {
    $icons_model = new icons_model();

    $icons_model->init($response);
    $obj->families[] = $icons_model;


}

return $obj;  

所以..這就是我得到的:

{
    "data": {
        "families": [
            {
                "id": "1",
                "name": "a",
                "image_url": "http://test.co.il/shay/keykit/icons/billadress.png"
            },
            {
                "id": "2",
                "name": "b",
                "image_url": "http://test.co.il/shay/keykit/icons/email.png"
            },
            {
                "id": "3",
                "name": "c",
                "image_url": "http://test.co.il/test/icons/homeicon.png"
            },
            {
                "id": "6",
                "name": "f",
                "image_url": "http://test.co.il/test/icons/homeicon.png"
            },
            {
                "id": "4",
                "name": "d",
                "image_url": "http://test.co.il/test/icons/billadress.png"
            },
            {
                "id": "5",
                "name": "e",
                "image_url": "http://test.co.il/test/icons/billadres2323s.png"
            },

並繼續。

我如何使每三個對象都在一個組中? (如第一個示例)

嘗試這個:

foreach ($response as $key => $response) {
    $icons_model = new icons_model();

    $icons_model->init($response);
    $obj->families[(int)($key / 3)][] = $icons_model;
}

暫無
暫無

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

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