listen1 中文文档 下载 App

歌单 JSON 导出格式与手动编辑指南

为什么导出歌单

导出歌单除了跨设备同步,还有这些用途:

JSON 导出文件格式

Listen 1 导出的歌单 JSON 大致结构如下:

{
  "exportVersion": 2,
  "exportTime": "2025-06-17T10:30:00+08:00",
  "playlists": [
    {
      "id": "local-1234567890",
      "name": "华语怀旧金曲",
      "coverUrl": "",
      "tracks": [
        {
          "name": "七里香",
          "artist": "周杰伦",
          "album": "七里香",
          "platformId": "netease",
          "sourceLink": "..."
        }
      ]
    }
  ],
  "favorites": [
    {
      "name": "晴天",
      "artist": "周杰伦",
      "platformId": "qq"
    }
  ]
}

关键字段说明:

字段含义
playlists你创建的全部歌单数组
favorites收藏的歌曲(「我喜欢的音乐」列表)
id歌单唯一标识,导入时如果已存在同名歌单会跳过
platformId歌曲来源平台(netease / qq / kugou / kuwo / bilibili / migu)

手动编辑注意事项

删除歌曲

直接在 tracks 数组里删除对应的 JSON 对象即可。注意数组的逗号分隔符——删除中间的对象后,前一个对象末尾的逗号要保留,最后一个对象末尾不能有逗号。

重命名歌单

修改 name 字段即可。

添加新歌单

在 playlists 数组里新增一个完整的歌单对象,id 可以用时间戳生成:

{
  "id": "local-" + Date.now(),
  "name": "新歌单名称",
  "coverUrl": "",
  "tracks": []
}

编辑完成后保存为 UTF-8 编码的 JSON 文件,再导入 Listen 1。

导入 JSON 时的合并规则

导入时 Listen 1 的行为:

JSON 文件的编码要求

Listen 1 使用 UTF-8 编码存储 JSON。如果用 Windows 记事本编辑,保存时确认编码是「UTF-8」而不是「ANSI」。ANSI 编码可能导致中文歌曲名乱码。

推荐使用 VS Code、Notepad++、Sublime Text 等现代编辑器,默认 UTF-8 无需担心。

导出 vs Gist 备份

对比项手动导出 JSONGist 自动备份
操作复杂度需要手动导出导入一键同步
存储位置本地文件GitHub 云端
多设备支持需要手动中转自动同步
版本历史需要自己管理Gist 自带版本历史
适合场景归档、批量编辑日常跨设备同步