鍍金池/ 問答/Java  HTML/ text/plain和application/json發(fā)送數(shù)據(jù)都一樣的效果,為什

text/plain和application/json發(fā)送數(shù)據(jù)都一樣的效果,為什么沒看見使用text/plain的?

1.問題由來

在傳遞json數(shù)據(jù)的時(shí)候。通常都是使用application/json,并通過JSON.stringify(data)傳換為json字符串來傳遞。

但是最近發(fā)現(xiàn),如果把Content-Type改成text/plain,也可以傳遞json字符串,達(dá)到的效果是一樣的。

2.問題

然后看了一下http請(qǐng)求體,發(fā)現(xiàn)兩者傳遞數(shù)據(jù)都是 Request Playload 格式,兩者并沒有什么區(qū)別,為什么不使用常規(guī)的text/plain來傳遞json字符串呢?

求大神講解。

回答
編輯回答
離魂曲

傳遞數(shù)據(jù)設(shè)置為application/json,就是告訴請(qǐng)求的接收者,body體的數(shù)據(jù)格式是符合json格式的,接受者拿到這些數(shù)據(jù)后可以直接使用相應(yīng)的格式化方法轉(zhuǎn)換成處理語(yǔ)言識(shí)別的數(shù)據(jù)對(duì)象或者框架攔截器自動(dòng)進(jìn)行轉(zhuǎn)換,能更早發(fā)現(xiàn)數(shù)據(jù)傳遞上的錯(cuò)誤
如果直接通過text/plain傳遞,那么接收者需要自己執(zhí)行判斷怎么處理這個(gè)數(shù)據(jù)。
這個(gè)更多是前后臺(tái)API接口的規(guī)范性的要求

2017年11月14日 23:33