将json格式转换为其他数组类型json格式
我有一个json格式,并希望将其转换为我自定义的格式。请帮助我使用PHP进行此转换。请帮助我,我如何构建上面提到的JSON数组格式。这里是我的格式:将json格式转换为其他数组类型json格式
{
"success": true,
"code": 601,
"u_id": "9",
"h_id": "5",
"data": [{
"mp_cat": "Conveyance",
"mp_id": "5",
"mp_rating": "4",
"mp_price": "630.00"
}, {
"mp_cat": "Food & Drinks",
"mp_id": "3",
"mp_rating": "4",
"mp_price": "104.55"
}, {
"mp_cat": "Food & Drinks",
"mp_id": "4",
"mp_rating": "3",
"mp_price": "450.00"
}]
}
而想要这样的格式:
{
"success": true,
"code": 601,
"u_id": "9",
"h_id": "5",
"category": [{
"Name": "Food & Drinks",
"data": [{
"mp_cat": "Food & Drinks",
"mp_id": "3",
"mp_rating": "4",
"mp_price": "104.55"
}, {
"mp_cat": "Food & Drinks",
"mp_id": "4",
"mp_rating": "3",
"mp_price": "450.00"
}]
}, {
"Name": "Conveyance",
"data": [{
"mp_cat": "Conveyance",
"mp_id": "5",
"mp_rating": "4",
"mp_price": "630.00"
}]
}]
}
您可以使用简单的foreach循环来构建你的数据,或重新格式化JSON。 减半看看下面的解决方案:
$json = '{
"success": true,
"code": 601,
"u_id": "9",
"h_id": "5",
"data": [{
"mp_cat": "Conveyance",
"mp_id": "5",
"mp_rating": "4",
"mp_price": "630.00"
}, {
"mp_cat": "Food & Drinks",
"mp_id": "3",
"mp_rating": "4",
"mp_price": "104.55"
}, {
"mp_cat": "Food & Drinks",
"mp_id": "4",
"mp_rating": "3",
"mp_price": "450.00"
}]
}';
$json_array = json_decode($json, true);
$new_array = array();
$category_array = array();
foreach($json_array as $key => $array){
if($key == 'data'){
foreach($array as $a){
$category_array[$a['mp_cat']]['name']= $a['mp_cat'];
$category_array[$a['mp_cat']]['data'][]= $a;
}
} else{
$new_array[$key] = $array;
}
}
$new_array['category'] = array_values($category_array);
echo json_encode($new_array);
输出:
{
"success": true,
"code": 601,
"u_id": "9",
"h_id": "5",
"category": [{
"name": "Conveyance",
"data": [{
"mp_cat": "Conveyance",
"mp_id": "5",
"mp_rating": "4",
"mp_price": "630.00"
}]
}, {
"name": "Food & Drinks",
"data": [{
"mp_cat": "Food & Drinks",
"mp_id": "3",
"mp_rating": "4",
"mp_price": "104.55"
}, {
"mp_cat": "Food & Drinks",
"mp_id": "4",
"mp_rating": "3",
"mp_price": "450.00"
}]
}]
}
如何转换此JSON [{“label”:“Food&Drinks”,“data”:“2”},{“label”:“Lifestyle”, “数据”:“1”}]到[[“食品和饮料”,2],[“生活方式”,1]]使用php –
请在SO –
上发布新问题http://stackoverflow.com/questions/ 35269178 /如何对转换-JSON-字符串到阵列中的PHP –
从你在哪里得到这个JSON? – AnkiiG
得到一个MySQL查询 –
你会分享该代码@deepakbhardwaj – AnkiiG