真的我不知道该怎么办。请帮忙解决这个问题。我有一个CSV文件,我把它转移到一个数组:
import csvToJson from 'convert-csv-to-json';
import fs from 'fs';
const URL_01 = `${__dirname}/URL/price.csv`;
//Unnecessary code removed for clarity...
app.get('/all', (req, res) => {
let json = csvToJson.getJsonFromCsv(URL_01);
res.send(json);
});
如何以UTF-8获取正确的数据?
答案 0 :(得分:0)
尝试使用 csvtojson 库而不是convert-csv-to-json。
您将在此处看到示例: https://www.npmjs.com/package/csvtojson
答案 1 :(得分:0)
尝试在JSON.parse(JSON.stringify())中包装来自csvToJson的输出;
app.get('/all', (req, res) => {
let json = csvToJson.getJsonFromCsv(URL_01);
res.send(JSON.parse(JSON.stringify(json)));
});
JSON.Stringify()
可能会解析导致错误的数据。但是,当然,您需要使用JSON.parse()
将其从String转换回JSON。虽然,如果不知道问题字符就很难说。
答案 2 :(得分:0)
策略应该是:
var iconv = require('iconv-lite');
var csv = require('csv');
var converterStream = iconv.decodeStream('win1251');
fs.createReadStream('file-in-win1251.txt')
.pipe(iconv.decodeStream('win1251'))
.pipe(csv.parse())
.pipe(csv.stringify())
.pipe(process.stdout);