application/json.json| 維度 | JSON | XML |
|---|---|---|
| 冗余度 | 低,編寫快 | 高,標籤繁瑣 |
| 數組支持 | 原生支持 | 無原生數組,需模擬 |
| 解析性能 | 快 | 較慢 |
| 方向 | 標準 API(推薦) | 舊式寫法 |
|---|---|---|
| 字符串 → 對象 | JSON.parse(jsonStr) | eval('(' + jsonStr + ')') |
| 對象 → 字符串 | JSON.stringify(jsonObj) | jsonObj.toJSONString() |
注意:eval 存在安全風險,嚴禁用於不可信數據。
dataType: "json" 作用:告知 jQuery 預期響應類型,自動調用 JSON.parse 將響應文本轉為 JS 對象/數組。
// 依賴:net.sf.json.JSONObject / JSONArray
String str = request.getParameter("jsonData");
// 對象解析
JSONObject jsonObj = JSONObject.fromObject(str);
// 數組解析
JSONArray jsonArr = JSONArray.fromObject(str);
if (jsonArr.size() > 0) {
for (int i = 0; i < jsonArr.size(); i++) {
JSONObject obj = jsonArr.getJSONObject(i);
// 業務處理...
}
}
dataType: "json" + 後端 response.setContentType("application/json;charset=UTF-8"),雙重保障