【发布时间】:2021-08-17 21:00:38
【问题描述】:
我在 sFTP 服务器中有一个 json 文件,我使用 ssh2-sftp-client 库获取该文件。我不想将此文件写入本地文件,我希望能够读取它并将其保存到代码中的 JSON 变量中。但我似乎无法将缓冲区输出转换为 JSON。这是我的代码:
const Client = require('ssh2-sftp-client');
async function getFTPFile() {
const sftp = new Client();
const config = {
host: ...,
username: ...,
password: ...
};
return sftp.connect(config)
.then(() => sftp.get('./directory/Data.json'))
.then((data) => {
console.log(data);
return JSON.parse(data.toString());
});
}
我确认它正在提取正确的文件,但是当我尝试将缓冲区数组转换为 json 对象时,我收到以下错误:
SyntaxError: Unexpected token � in JSON at position 0
at JSON.parse (<anonymous>)
如何解决此错误?
【问题讨论】:
-
检查文件是否以 BOM 字符开头。
标签: javascript json ssh buffer sftp