首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

後端傳遞 JSON 格式到前端常見錯誤與解決方案

     編輯:程式設計疑難解答

問題背景

在 Web 開發中,後端將資料序列化為 JSON 格式傳遞給前端是極為常見的操作。然而,許多初學者在構建 JSON 字串時,容易混淆 JSON 語法與 Java 物件屬性賦值語法,導致前端解析失敗。

錯誤示範

開發者在後端代碼中嘗試手動拼接 JSON 字串時,可能會寫出如下錯誤代碼:

// 錯誤寫法:使用等號 (=) 而非冒號 (:)
String json = "{code=1, msg='success'}";

這樣生成的字串 {code=1, msg='success'} 並不符合 JSON 標準,前端呼叫 JSON.parse() 或 jQuery 的 $.getJSON() 時會拋出語法錯誤。

正確寫法

JSON 格式規範要求鍵值對之間必須使用冒號 (:) 分隔,字串值必須用雙引號 (\") 包裹。正確的 JSON 字串應為:

// 正確寫法
String json = "{\"code\":1, \"msg\":\"success\"}";

最佳實踐:使用成熟庫自動序列化

強烈建議**不要手動拼接 JSON 字串**。應使用成熟的序列化庫(如 Jackson、Gson、Fastjson)將 Java 物件自動轉換為標準 JSON,避免語法錯誤並處理轉義、泛型、日期格式等複雜情況。

// 以 Jackson 為例
ObjectMapper mapper = new ObjectMapper();
Result result = new Result(1, "success");
String json = mapper.writeValueAsString(result);
// 自動產生標準 JSON:{"code":1,"msg":"success"}

核心提示

  • JSON 鍵值分隔符**必須是冒號 :**,不能是等號 =。
  • JSON 字串值**必須用雙引號**包裹,單引號不合法。
  • 生產環境請務必使用序列化庫,勿手動拼接。

掌握這一點,即可避免「為什麼加個屬性就報錯」的困擾,專注於業務邏輯開發。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved