首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

Struts2 傳 Map<Long,String> 到前端報警告:JS 不支援非字串 Key

     編輯:Java 綜合教學

警告內容

WARN org.apache.struts2.json.JSONWriter - JavaScript doesn't support non-String keys, using toString() on java.lang.Long

原因

Struts2 JSON 插件序列化 Map<Long, String> 時,JS 物件鍵只能是字串,框架被迫調用 Long.toString() 轉換,產生警告。

解決

將 Map 泛型改為 Map<String, String>:

// Action
private Map<String, String> dataMap = new HashMap<>();
dataMap.put("1001", "張三");  // Key 以字串形式存入
// getter/setter 略

前端 JSON 解析無警告,鍵值對應關係不變。

延伸

  • 同理 Integer、Float 等包裝類型 Key 皆會觸發。
  • 若必須保持數值型 Key,建議後端轉為 List<MapEntry> 或自定義 DTO 避免警告。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved