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

JSON 格式解析:後端傳遞 List 集合的標準結構

     編輯:程式設計綜合問答

標準 JSON 數組格式

[
  {
    "id": "1",
    "date": 1451972654541,
    "user": {
      "id": "user_1"
    },
    "schedules": "1,2"
  },
  {
    "id": "2",
    "date": 1451972654541,
    "user": {
      "id": "user_2"
    },
    "schedules": "2"
  }
]

結構說明

  • 最外層:[ ... ] 表示 JSON 數組,對應 Java List<Object> 或 Object[]。
  • 每個元素:{ ... } 表示 JSON 對象,對應 Java 實體類/Map。
  • 嵌套對象:"user": { "id": "user_1" } 表示對象屬性又是一個對象,Java 中為關聯實體或嵌套 Map。
  • 字符串字段:"schedules": "1,2" 逗號分隔字符串,前端可 split(",") 轉數組。

Java 實體類映射

public class ScheduleItem {
  private String id;
  private Long date; // timestamp
  private User user; // 嵌套對象
  private String schedules; // "1,2"
  // getter/setter
}

public class User {
  private String id;
  // getter/setter
}

後端序列化示例

@RestController
public class ScheduleController {
  @GetMapping("/schedules")
  public List<ScheduleItem> list() {
    List<ScheduleItem> list = service.findAll();
    return list; // Spring MVC 自動序列化為上述 JSON 數組
  }
}

前端解析

fetch('/schedules')
  .then(res => res.json())
  .then(arr => {
    arr.forEach(item => {
      console.log(item.id, item.user.id, item.schedules.split(','));
    });
  });

常見錯誤

  • 返回單個對象 {...} 而非數組 [{...}],導致前端 .forEach 報錯。
  • 日期未統一格式(timestamp vs ISO 字符串),建議後端統一輸出 ISO-8601 字符串(@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss"))。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved