nodejs - csvtojson在输出中没有给出正确的json键

时间:2016-08-19 09:24:34

标签: javascript json node.js

我在csvtojson中使用nodejs个包。我在下面编写了代码来转换我的csv文件,但它没有正确转换为jsonjson中的键没有双括号,因此我无法使用键获取值。

var Converter = require("csvtojson").Converter;
var converter = new Converter({});

converter.fromFile("./file.csv", function(err,result){
    console.log(result);
});

显示的输出如下:

[ { a: 1, b: 2, c: 3 }, { a: 3, b: 4, c: 5 } ]

因此它将错误称为“Key not found!! c

有人可以提供帮助。

csv内容如下:

a,b,c
1,2,3
3,4,5

2 个答案:

答案 0 :(得分:1)

从文档中看,输出似乎应该是[{"a": 1, "b": 2, "c": 3}, {"a": 3, "b": 4, "c": 5}],这是一个JSON字符串。

要访问对象的属性,您需要使用JSON.parse对其进行评估。

另一个错误可能在于您访问c的方式,但您没有显示相应的代码。

答案 1 :(得分:0)

console.log没有给你json格式化输出,它是javascript对象的转储,格式不同。

您需要逐行解决结果。您的结果是一个数组,每个项目都是一个包含所有字段的行。因此,您可以使用以下内容处理第一行的c

result[0]['c']

或者您可能希望循环访问此数组以访问每一行:

converter.fromFile("./file.csv", function(err,result){
    for (var i in result) {
        var line=result[i];
        console.log("line "+i+":" + line.c);
    }
 });