开发者社区> 问答> 正文

遍历json数据,怎么对相同数据进行分组?

小旋风柴进 2016-03-07 07:49:09 1324
{
    "module_list": [

        {

            "content": {

                "module-type": "list-1",
                "module": "list",
                "type": "1",
                "name": "职位列表 ",
                "logo1": "imgurl1",
                "title1": "baidu1",
                "desc1": "hahahha1",
                "url1": "www.baidu.com1",
                "logo2": "imgurl2",
                "title2": "baidu2",
                "desc2": "hahahha2",
                "url2": "www.baidu.com2",
                "logo3": "imgurl3",
                "title3": "baidu3",
                "desc3": "hahahha3",
                "url3": "www.baidu.com3",
                "logo4": "",
                "title4": "",
                "desc4": "",
                "url4": "",
                "jobs": [
                    {
                        "name": "产品经理",
                        "salary": "10k-15k",
                        "url": "www.baidu.com",
                        "desc": "广州",
                        "mark": "group:1"
                    },
                    {
                        "name": "产品经理",
                        "salary": "10k-15k",
                        "url": "www.baidu.com",
                        "desc": "广州",
                        "mark": "group:2"
                    },
                    {
                        "name": "产品经理",
                        "salary": "10k-15k",
                        "url": "www.baidu.com",
                        "desc": "广州",
                        "mark": "group:3"
                    },
                    {
                        "name": "产品经理",
                        "salary": "10k-15k",
                        "url": "www.baidu.com",
                        "desc": "广州",
                        "mark": "group:4"
                    },
                    {
                        "name": "产品经理",
                        "salary": "10k-15k",
                        "url": "www.baidu.com",
                        "desc": "广州",
                        "mark": "group:1"
                    },
                    {
                        "name": "产品经理",
                        "salary": "10k-15k",
                        "url": "www.baidu.com",
                        "desc": "广州",
                        "mark": "group:1"
                    },
                    {
                        "name": "产品经理",
                        "salary": "10k-15k",
                        "url": "www.baidu.com",
                        "desc": "广州",
                        "mark": "group:4"
                    },
                    {
                        "name": "产品经理",
                        "salary": "10k-15k",
                        "url": "www.baidu.com",
                        "desc": "广州",
                        "mark": "group:4"
                    },
                    {
                        "name": "产品经理",
                        "salary": "10k-15k",
                        "url": "www.baidu.com",
                        "desc": "广州",
                        "mark": "group:3"
                    },
                    {
                        "name": "产品经理",
                        "salary": "10k-15k",
                        "url": "www.baidu.com",
                        "desc": "广州",
                        "mark": "group:2"
                    },
                    {
                        "name": "产品经理",
                        "salary": "10k-15k",
                        "url": "www.baidu.com",
                        "desc": "广州",
                        "mark": "group:2"
                    }
                ]
            },

        }
    ]
}
     public static function buildList($module){
        $jobList2 = "";
        if($module['jobs']){
            foreach($module['jobs'] as $job){
                $jobList2 .= <<<html
                <li>
                    <a class="post post2">{$job['name']}</a>
                    <span class="salary">{$job['salary']}</span>
                </li>
html;
            }
        }

                return<<<html
                {$jobList2}
html;
                }

是这样的,我通过php语句对页面进行拼接,但从json获取数据的时候,按上面写拼出来的是全部 的数据,但是我想根据mark值输出显示一些特定的数据,比如只拼接group:1的数据,具体的操作我还是有些不太清楚

JSON PHP 数据格式
分享到
取消 提交回答
全部回答(1)
  • 小旋风柴进
    2019-07-17 18:55:05

    示例代码如下。

    var group = {};// 存放类似
    {"group:2":[{
    "name" : "产品经理",
    "salary" : "10k-15k",
    "url" : "www.baidu.com",
    "desc" : "广州",
    "mark" : "group:2"
    }],"group:3":[{
    "name" : "产品经理",
    "salary" : "10k-15k",
    "url" : "www.baidu.com",
    "desc" : "广州",
    "mark" : "group:3"
    }]}
    //之类的值
    
    module_list.forEach(function(item) {
    var arr = item.content.jobs;// 数组中每个content下的jobs数组
    if (arr && arr.length > 0) {
    arr.forEach(function(sItem) {
    var key = sItem.mark;
    
            // 不包含则将mark所在的对象加入到数组中
            if (!group.hasOwnProperty(key)) {
                group[key] = [ sItem ];
            } else {
                // 包含则将放入mark对应的数组中
                group[key].push(sItem);
            }
        });
    }
    });
    0 0

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题
推荐课程