服務(wù)端數(shù)據(jù)返回規(guī)范格式探討
開(kāi)發(fā)中,服務(wù)端返回的數(shù)據(jù)格式很重要,如果格式不統(tǒng)一,程序的Bug就會(huì)很多,服務(wù)端一個(gè)字段可以導(dǎo)致客戶(hù)端各種奇葩的異常,還有不必要的非空判斷,代碼極為難看。
那么 好的服務(wù)端 json 數(shù)據(jù)格式是怎么樣的呢?
廢話不多說(shuō),下面這種格式還是比較好的,不能說(shuō)最好,但是最好規(guī)范了一把。
來(lái)人吶,上json
{
? ? ? ? "code":100,
? ? ? ? "data": {},
? ? ? ? "msg":"success"
? }
就?這么簡(jiǎn)單??對(duì),就這么簡(jiǎn)單,格式由 大括號(hào)包裹{ },表示json對(duì)象
大括號(hào)里,由三個(gè)字段組成(若有需求,可以再添加字段)code 表示 請(qǐng)求成功與否狀態(tài)碼,data內(nèi)包裹著請(qǐng)求結(jié)果,如果沒(méi)數(shù)據(jù),data內(nèi)部不需要返回任何東西,但是data的打括號(hào)還是需要,這很重要, msg 字段表示請(qǐng)求成功與否的狀態(tài)信息,字符串表示。
規(guī)定好規(guī)范之后,返回的數(shù)據(jù)只能是這樣的
請(qǐng)求成功:
{
? ? ? ? "code":100,
? ? ? ? "data":{
? ? ? ? ? "username":"json",
? ? ? ? ? "info":{
? ? ? ? ? ? ? "pic":"http:www.baidu.com",
? ? ? ? ? ? ? "title":"標(biāo)題",
? ? ? ? ? ? ? "content":"內(nèi)容"
? ? ? ? ? }
? ? ? ? },
? ? ? ? "msg":"success"
? ? }
請(qǐng)求失敗:
{
? ? ? ? "code":101,
? ? ? ? "data":{
? ? ? ? },
? ? ? ? "msg":"failure because params..."
}
數(shù)組格式 :?
{
? "code":200,
? "data":[
? ? {
? ? ? "name":"zhangsan",
? ? ? "age":23,
? ? ? "sex":"男"
? ? },
? ? {
? ? ? "name":"李四",
? ? "age":25,
? ? ? "sex":"男"
? ? }
? ],
? "msg":""
}
沒(méi)有數(shù)據(jù)的時(shí)候:
{
? "code":200,
? "data":[ ],
? "msg":"xxxx"
}
事兒不大,也不麻煩,20秒理解,規(guī)范很重要?。?!不然,以后有得哭的。