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 皆會觸發。List<MapEntry> 或自定義 DTO 避免警告。