{
"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的数据,具体的操作我还是有些不太清楚
囧,这个很简单啊!建立一个键值KV结构,K是这个mark,V是一个列表对象,遍历的时候,获得一个mark,通过KV判断是否存在,如果存在直接在K对应的VList中添加一个啊。如此循环遍历
示例代码如下。
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);
}
});
}
});
使用json_decode先解析再分组