从数据库中获取数据后,结果如下图所示JSON格式:
"return_data": {
"friend_info": [
{
"desc": "name",
"value": "Ken"
},
{
"desc": "profile_pic",
"value": "http://aaa.caa/1234569/picture?type=large"
}
]
}
我想使JSON看起来像这样:
"return_data": {
"friend_info": [
{
"name": "Ken",
"profile_pic": "http://aaa.caa/1234569/picture?type=large"
}
]
}
但是我完全不知道如何使它像上面的结构。有人请让我知道正确的方向,例如我应该使用什么功能等等。谢谢
答案 0 :(得分:6)
您需要使用json_decode()
将json转换为php数组,并获取目标值并插入具有自定义结构的新对象,然后将新值替换为json数组。最后,使用json_encode()
$json = json_decode($jsonStr, true);
$obj = new stdClass;
foreach ($json["return_data"]["friend_info"] as $item)
$obj->{$item["desc"]} = $item["value"];
$json["return_data"]["friend_info"] = $obj;
$jsonStr = json_encode($json);
在demo中查看结果
请注意,您显示的json无效,应包装在{}