问题提出:返回给前端的json数据一般包含哪些字段?

除了必要的前端所需的数据,还需要其他的为前端提示后端状态、方便前端进行处理的字段。一个项目的开发一般会有规定的的json格式,由前后端共同讨论得出,为了方便前后端的交互,返回的数据一般会包含但不仅限于以下所述选项。


问题分析

以查询学生成绩表为例,若前端请求查询课程号为’Comp501’的学生成绩,后端查询完成后若想返回给前端,则一般需要包含以下字段:

(1)code
响应状态码,返回的json数据应该告诉前端返回状态,提示前端该接口数据请求或处理的状态。code的值由前后端协商规定,不同值表示不同含义,示例状态码:

404:请求的接口不存在;
200:接口操作成功
400:接口操作失败
500:服务器错误

(2)message:
响应信息,用于提示前端错误来源。没错就返回ok,有错误就把错误信息写入该字段中,前端根据错误信息进行后续操作,也可以将这个信息展示给用户。

(3)data:
用来存放数据,如果包含多条数据,一般会以对象数组存放列表数据,示例如下:

"data": {
    "data_list": [
      {
        "id": '2024000000',
        "name": '李华',
        "course": 'Comp501',
        "grade": '100'
      },
      {
        "id": '2024000001',
        "name": '李明',
        "course": 'Comp501',
        "grade": '99'
      }
    ],
    "total": 2,
    "other_attr": '数据的其他属性'
  }

如果确定只有一条数据,示例如下:

"data":
    {
      "id": '2024000000',
      "name": '李华',
      "course": 'Comp501',
      "grade": '100'
    }

(4)page

存放分页的页数,有做数据分页的情况下,返回一个page值,表明当前数据属于第几页。


json数据格式展示:

{
  "code": 200,
  "message": ok,
  "data": {
    "data_list": [
      {
        "id": '2024000000',
        "name": '李华',
        "course": 'Comp501',
        "grade": '100'
      },
      {
        "id": '2024000001',
        "name": '李明',
        "course": 'Comp501',
        "grade": '99'
      },
      {
        "id": '2024000002',
        "name": '张伟',
        "course": 'Comp501',
        "grade": '99'
      }
    ],
    "total": 3,
    "other_attr": '数据的其他属性'
  },
  "page": 0
}

参考链接:

https://www.w3cschool.cn/article/36275523.html
https://blog.51cto.com/u_12831/11655651

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐