You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将结构化TXT内容通过split('\n')转换为JSON格式?

将拆分后的电影TXT字符串数组转换为JSON的具体步骤

核心步骤说明(基于固定结构TXT)

以下步骤假设你的TXT每一行遵循统一格式(例如:电影标题 (发行年份) [格式] - 主演1, 主演2),如果你的实际格式不同,只需调整正则表达式即可适配。


  1. 过滤无效行
    拆分后的数组通常会包含空行、空白行,先过滤掉这些无效内容:

    const validLines = movieLines.filter(line => line.trim() !== '');
    
  2. 编写匹配固定结构的正则表达式
    根据你的TXT实际格式编写正则,捕获标题、年份、格式、主演四个字段。示例正则对应上面的假设格式:

    // 捕获组依次为:标题、年份、格式、主演列表
    const moviePattern = /^(.*?)\s+\((\d{4})\)\s+\[(.*?)\]\s+-\s+(.*)$/;
    

    如果你TXT的分隔符是冒号、竖线等,直接修改正则中的分隔符号即可。

  3. 遍历解析每一行
    对每一行用正则匹配,将捕获到的内容转换为结构化对象,同时处理类型转换(比如年份转数字、主演转数组):

    const movieList = validLines.map(line => {
      const match = moviePattern.exec(line);
      // 跳过匹配失败的行(可选:也可记录错误日志)
      if (!match) return null;
      return {
        title: match[1].trim(),
        releaseYear: parseInt(match[2], 10),
        format: match[3].trim(),
        actors: match[4].split(',').map(name => name.trim())
      };
    }).filter(item => item !== null); // 移除解析失败的项
    
  4. 转换为JSON字符串
    使用JSON.stringify将结构化数组转为JSON,第二个参数传null、第三个参数传数字可格式化输出:

    const moviesJson = JSON.stringify(movieList, null, 2);
    

关键注意事项

  • 必须根据你的TXT实际格式调整正则表达式,比如如果标题包含括号,需要修改正则的捕获逻辑;如果年份是两位或带前缀,也要调整\d{4}部分。
  • 如果存在多行描述的电影信息(比如标题换行),需要先处理行合并逻辑,再执行上述解析步骤。

内容的提问来源于stack exchange,提问作者Ncado

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 23:39:08