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

使用lambda-multipart-parser解析文件后无法获取JSON数据,JSON.parse也无效

问题解决方法

问题原因

你获取到的result.files[0].content本身是Node.js原生Buffer实例,不是普通JSON结构,data是Buffer的内部私有属性,不支持直接访问,因此直接取值会返回空。

解决方案

根据你使用场景选择对应处理方式:

场景1:读取文件文本内容(你示例的Buffer对应是CSV格式文本)

直接调用Buffer的toString方法转UTF-8编码即可拿到明文内容:

let result = await parser.parse(event);
const fileContent = result.files[0].content.toString('utf8');
// 输出结果为:Accountnumber,Username,Password,Lconame,Status

场景2:获取Buffer对应的字节数组

不要直接访问data属性,使用Array.from转换即可得到完整的字节数组:

const byteArray = Array.from(result.files[0].content);
// 输出结果和你之前看到的data字段数值完全一致

场景3:文件内容为JSON格式时解析为对象

先转字符串再调用JSON.parse即可:

const fileContent = result.files[0].content.toString('utf8');
const jsonData = JSON.parse(fileContent);

避坑说明

你之前直接调用JSON.parse失败是因为传入参数是Buffer实例,而非JSON格式字符串,完成转码步骤后即可正常解析。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 14:15:06