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

如何将JSON字符串转为数组并去除转义字符?解决ETL格式问题

JSON行式数据封装为指定结构JSON的转义问题解决

问题说明

现有一个包含2万+行的JSON行式数据文件,需要将其封装为指定结构的JSON,要求其中data字段为JSON对象数组。目前通过CSV数据集以^为分隔符将文件读取为单列,再经派生列处理后,生成的JSON中data字段变成了带有多层转义的字符串,而非预期的对象数组,需解决将JSON字符串转换为数组并去除多余转义字符的问题。

输入输出示例

输入数据(JSON行格式)

{"A":12345,"B":"2023-12-31 00:00:00","C":5510,...}
{"A":54321,"B":"2024-01-15 08:00:00","C":7890,...}

期望输出

{
  "dataRepositoryId": "fixedvalue",
  "importName": "uuid",
  "data": [
    {"A":12345,...},
    {"A":54321,...}
  ]
}

当前异常输出

{"dataRepositoryId": "fixed vale","importName": "uuid","data":"[\"{\\\"A\\\":12345,...}\\\n", ...]"}

解决方案

方法1:直接读取JSON行文件(推荐)

放弃CSV读取的方式,改用支持**JSON行(NDJSON)**的工具/组件处理:

  • 逐行读取文件内容,将每一行的字符串直接解析为JSON对象
  • 把所有解析后的对象汇总成一个数组
  • 最后将该数组赋值给目标JSON的data字段,同时补充dataRepositoryId和importName固定字段即可

方法2:修复现有CSV读取流程

如果必须保留CSV读取的步骤,需在派生列环节做以下处理:

  1. 清理转义字符:对读取到的单列字符串,批量替换多余的转义符号,比如把\\\"替换为\",移除不必要的换行转义\\n
  2. 解析为JSON对象:使用工具自带的JSON解析功能(如JSON.parse()),将每一行清理后的字符串转换成JSON对象
  3. 组装为数组:将所有解析完成的JSON对象收集为数组,直接赋值给data字段,避免直接拼接字符串导致的二次转义

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 17:32:40