如何用php修改并且解析json

qq_42640841 2019-08-01 01:55:19
这是一段json的例子,总得来讲是用json_decode来化成数组并进行操作

{
"uri": "baidu",
"method": "POST",
"content_type": "form-data",
"body": {
"global_context_id": "530EC6B6-76D9-44BF-962F-AA8228DC4790",
"dataset_items_log": [
{
"dataset_context_id": "BDDACCD9-C202-426A-B77B-F4ECD4E2344D",
"dataset_id": "881CF71D-232E-41F4-A293-28326BF6FFAC",
"item_events_log": [
{
"item_id": "2BBB5D47-2689-41D9-8067-3D2D4EA67CB4",
"item_context_id": "",
"item_time": "2019-06-26T13:11:17+08:00",
"item_name": "HeartBeat",
"item_data": {
"meeting": "34155105"
}
}
],
"dataset_name": "MeetingEvents"
}
],
"device_id": "da196dc82d54b7acc1700fb6b106662b3f9d294c46706cb23e7be4e60f210454"
}
}





我自己写了个函数但是总是有问题

function modifyarr(&$jsoncontent,$given_key,$given_code,$given_data)
{

foreach($jsoncontent as $key=>&$value)
{
if($key==$given_key&&(!is_array($value)))
{
$value=array($given_code=>$given_data);
break;
}
elseif($key==$given_key&&(is_array($value)))
{
$value=$value+array($given_code=>$given_data);
break;
}
elseif($key!="default"&&$key!=$given_key&&is_array($value)&&(!is_numeric($key))) {
modifyarr($value,$given_key,$given_code,$given_data);
}


}

}
...全文
198 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
月下YXSoft 2019-08-06
  • 打赏
  • 举报
回复
你这修改完没赋值回去啊
komyluo 2019-08-06
  • 打赏
  • 举报
回复
1 json_decode 2 修改 3 json_encode
komyluo 2019-08-06
  • 打赏
  • 举报
回复
1 json_decode
qq_42640841 2019-08-05
  • 打赏
  • 举报
回复
???你这不是废话吗
现在还是人类 2019-08-03
  • 打赏
  • 举报
回复
JSON 字符串可以直接转数组的好不好 $array_json = json_decode($str_json, true) ; echo 'uri:'.$array_json['uri'].'<br>global_context_id:'.$array_json['body']['global_context_id'];

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧