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

Postman Newman无法解析CSV文件中的JSON数据求助

CSV与Excel数据格式适配Newman的解决方案

先梳理你提到的两种数据存储格式:

数据格式对比

Excel保存的原始格式

BOOKID123,None,{"present":true,"ID":{"1234":{"present":true,"answer":{"code":23,"message":"Ready to publish"}}}}

CSV存储后的问题版本

BOOKID123,None,"{\"present\":true\"ID\":{\"1234\":{\"present\":true\",answer:{\"code\":23,\"message\":\"Ready to publish\"}}}}"

你遇到的解析困境

Postman能正常解析CSV第三列的JSON,但Newman命令行却接连报错:

  • 初次解析错误:Invalid closing quote at line 2; found "\"" instead of delimiter ","
  • 给双引号加反斜杠转义后,又出现:Number of columns on line 2 does not match header(根源是JSON里的逗号被当成了CSV的列分隔符)

完全理解你不想改用JSON文件的想法——Excel批量维护数据确实比纯JSON顺手太多,其实不用换格式,试试这几个实用方案:

可行解决办法

1. 遵循CSV标准转义规则(最推荐)

CSV的标准转义逻辑是:如果字段包含逗号、双引号这类特殊字符,必须用双引号包裹整个字段,并且字段内部的双引号要替换成两个连续的双引号(而非反斜杠)。

调整后的第三列JSON格式如下:

"{""present"":true,""ID"":{""1234"":{""present"":true,""answer"":{""code"":23,""message"":""Ready to publish""}}}}"

对应的完整CSV行:

BOOKID123,None,"{""present"":true,""ID"":{""1234"":{""present"":true,""answer"":{""code"":23,""message"":""Ready to publish""}}}}"

更省心的是,你直接在Excel里编辑JSON内容,然后另存为CSV格式时,Excel会自动按这个规则处理转义,不用手动修改。

2. 给Newman指定CSV解析参数

如果标准格式仍有问题,可以在Newman运行命令里加上--csv-parse-options参数,自定义解析规则,明确指定引号和分隔符:

newman run your-collection.json -d your-data.csv --csv-parse-options quote='"' --csv-parse-options delimiter=','

这个参数能让Newman更精准地识别CSV的字段边界,避免把JSON里的逗号误判为列分隔符。

3. Excel单元格格式设置小技巧

在Excel里编辑JSON时,先把存储JSON的列设置为「文本格式」,这样输入的双引号、逗号不会被Excel自动修改,保存成CSV时转义也会更准确,减少手动调整的麻烦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:29:23