业务经理

微信扫描以上二维码

028-61286886

技术咨询

如何修改API数据返回格式

迅睿框架 更新 2024-01-13 17:02:03 猴子阿

如何更改API数据返回格式?

例如下面的数据,是通过 网站栏目接口API 返回的默认数据格式:


{
  "code": 1,
  "msg": "ok",
  "data": {
    "1": {
      "id": "1",
      "name": "国内",
      "dirname": "guonei"
    },
    "2": {
      "id": "2",
      "name": "国际",
      "dirname": "guoji"
    },
    "3": {
      "id": "3",
      "name": "娱乐",
      "dirname": "yule"
    },
    "4": {
      "id": "4",
      "name": "音乐",
      "dirname": "music"
    }
  }
}


需要把返回个数据格式,改成如下格式:

{
  "code": 1,
  "msg": "ok",
  "data": [
    {
      "id": "1",
      "name": "国内",
      "dirname": "guonei"
    },
    {
      "id": "2",
      "name": "国际",
      "dirname": "guoji"
    },
    {
      "id": "3",
      "name": "娱乐",
      "dirname": "yule"
    },
    {
      "id": "4",
      "name": "音乐",
      "dirname": "music"
    }
  ]
}


也就是说,需要换成这种格式:

"data": [
    {.....},
]

API插件,网站栏目 API接口

应该怎么改?


方案

  • 小波工作室 #1 · 2024-01-12 23:08:42
    这个简单啊,用自定义回调函数处理下输出
  • 猴子阿 #2 · 2024-01-12 23:38:39
    小波工作室 这样写,对不对?
        public function topnavbar_diy_data($rt, $data) {
        
            $rt = [];
                    // 这里根据项目的$data输出格式来定义PHP的数据写法,
                    // 每个接口的写法几乎不一样,下面是测试例子
                    if ($data) {
                        foreach ($data as $t) {
                            $rt[] = [
            		    'id' => $t['id'], // ID号
                                'name' => $t['name'],
                                'dirname' => $t['dirname'],
                            ];
                        }
            	            
                    }
            		return $rt;
                }
  • 外聘专员-明矾软件 #3 · 2024-01-13 07:59:05
    满意答案
    return $rt; 改成 echo dr_array2string($rt);exit;
  • 猴子阿 #4 · 2024-01-13 17:02:03
    @外聘专员-明矾软件:感谢帮助。已解决需求

迅睿系统漏洞

独立站群系统
独立站群系统(2026-09-14)
子站独立部署时修复同步附件失败问题
在线客服
在线客服(2026-09-13)
修复删除会话报错问题 删除会话时联动删除聊天图片
在线考试竞赛系统
在线考试竞赛系统(2026-09-12)
增加投票功能 考试功能拓展 注意:更新后需要执行系统更新,更新数...
网上信箱
网上信箱(2026-09-12)
修复新版本兼容问题
GeoSeo收录宝
GeoSeo收录宝(2026-09-12)
1 优化Update.php文件,解决版本在线升级不完整问题 2 ...
GeoSeo工具箱
GeoSeo工具箱(2026-09-11)
修正历史记录推送
微信系统
微信系统(2026-09-11)
增加数据统计总览界面 账号管理增加服务和公众号的区别 菜单管理支持更...
答题系统
答题系统(2026-09-11)
一站式在线答题系统,支持真题考试、题库练习和错题本,适合培训、考证、...
阿里云滑动验证码
阿里云滑动验证码(2026-09-10)
采用阿里云验证码替换迅睿系统自带的图片验证码和滑动验证码。后台设置方...
下载Plus
下载Plus(2026-09-09)
为网站附件下载加上“计数、限次、统计、防护”四重能力:按用户组控制下...