婷婷同學(xué)_
2019-05-25 15:44:05
什么是正確的JSON內(nèi)容類型?我一直在忙著JSON一段時間,只是把它作為文本推出它并沒有傷害任何人(我知道),但我想開始正確地做事。我見過這樣的JSON內(nèi)容類型很多所謂的“標(biāo)準(zhǔn)”:application/json
application/x-javascript
text/javascript
text/x-javascript
text/x-json但哪一個是正確的,還是最好的?我認為它們之間存在安全性和瀏覽器支持問題。我知道有一個類似的問題,如果REST API返回JSON,那么MIME類型是什么?,但我想要一個稍微有針對性的答案。
4 回答

陪伴而非守候
TA貢獻1757條經(jīng)驗 獲得超8個贊
對于JSON文本:
application/json
JSON文本的MIME媒體類型是
application/json
。默認編碼為UTF-8。(來源:RFC 4627)。
對于帶回調(diào)的JSONP(可運行的javascript):
application/javascript
以下是相關(guān)評論中提到的一些博客文章。
IANA的官方mime類型列表來自@ gnrfan的答案如下


呼啦一陣風(fēng)
TA貢獻1802條經(jīng)驗 獲得超6個贊

絕地?zé)o雙
TA貢獻1946條經(jīng)驗 獲得超4個贊
當(dāng)然,JSON的正確MIME媒體類型是application/json
,但有必要實現(xiàn)應(yīng)用程序中預(yù)期的數(shù)據(jù)類型。
例如,我使用Ext GWT,服務(wù)器響應(yīng)必須為text / html,但包含JSON數(shù)據(jù)。
客戶端,Ext GWT表單監(jiān)聽器
uploadForm.getForm().addListener(new FormListenerAdapter(){ @Override public void onActionFailed(Form form, int httpStatus, String responseText) { MessageBox.alert("Error"); } @Override public void onActionComplete(Form form, int httpStatus, String responseText) { MessageBox.alert("Success"); }});
如果使用application / json響應(yīng)類型,瀏覽器建議我保存文件。
使用Spring MVC的服務(wù)器端源代碼片段
return new AbstractUrlBasedView() { @SuppressWarnings("unchecked") @Override protected void renderMergedOutputModel(Map model, HttpServletRequest request, HttpServletResponse response) throws Exception { response.setContentType("text/html"); response.getWriter().write(json); }};
- 4 回答
- 0 關(guān)注
- 1151 瀏覽
添加回答
舉報
0/150
提交
取消