联系官方销售客服

1835022288

028-61286886

应用插件 版主:官方插件技术组
如何修改API数据返回格式
类型:迅睿CMS 更新时间:2024-01-13 17:02:03 API接口
插件 API接口 V7.7
应用作者 迅睿官方团队
发布时间 2019-03-14 09:57:26
更新时间 2024-08-24 20:57:34

如何更改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接口

应该怎么改?


插件教程:https://www.xunruicms.com/doc/app-361.html

回帖
  • 小波工作室
    #1楼    小波工作室
    2024-01-12 23:08:42
    Chrome 0
    这个简单啊,用自定义回调函数处理下输出
  • 猴子阿
    #2楼    猴子阿
    2024-01-12 23:38:39
    Chrome 0
    小波工作室 这样写,对不对?
        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
    Chrome 0
    return $rt; 改成 echo dr_array2string($rt);exit;
    满意答案
  • 猴子阿
    #4楼    猴子阿
    2024-01-13 17:02:03
    Chrome 0
    @外聘专员-明矾软件:感谢帮助。已解决需求