简体   繁体   English

在NodeJS和Typescript中从csv转换为json后如何从json数组打印单个键和值

[英]How to print individual key and value from json array after converting from csv to json in NodeJS and Typescript

I am a fresher and new to Javascript and Typescript, I am learning in the office.我是 Javascript 和 Typescript 的新手,我正在办公室学习。 I have a csv file and I am able to parse the CSV file using this link https://www.npmjs.com/package/csv-parser .我有一个 csv 文件,我可以使用此链接https://www.npmjs.com/package/csv-parser解析 CSV 文件。 After parsing, I am getting the array of json key and values.解析后,我得到了 json 键和值的数组。 I provide below the output.我在输出下方提供。

[ { 'PURCHASE DATE': '2016-04-03',
    'CANDY PURCHASED': '1000',
    'CASH PAID': '10000.11',
    'BUYER NAME': 'Charlie Kelly' },
  { 'PURCHASE DATE': '2017-11-14',
    'CANDY PURCHASED': '1000',
    'CASH PAID': '12000.22',
    'BUYER NAME': 'Frank Reynolds' },
  { 'PURCHASE DATE': '2018-01-20',
    'CANDY PURCHASED': '2000',
    'CASH PAID': '40000.33',
    'BUYER NAME': 'Frank Reynolds' },
  { 'PURCHASE DATE': '2018-03-20',
    'CANDY PURCHASED': '2000',
    'CASH PAID': '40000.44',
    'BUYER NAME': 'Mac' },
  { 'PURCHASE DATE': '2019-01-02',
    'CANDY PURCHASED': '2000',
    'CASH PAID': '50000.55',
    'BUYER NAME': 'Sweet Dee' },
  { 'PURCHASE DATE': '2019-01-02',
    'CANDY PURCHASED': '1500',
    'CASH PAID': '13500.66',
    'BUYER NAME': 'Dennis Reynolds' } ]

Now my requirement is to print only the buyer name from the above json object.现在我的要求是仅打印上述 json 对象中的买家名称。

I tried using the following code but it is not working.我尝试使用以下代码,但它不起作用。

for (let i = 0; i < results.length; i++) {
            console.log("Printing ===>", results[i].name)
            console.log("Buyer Name ====", JSON.stringify(results[i]))
        }

Please help me to solve it.请帮我解决它。 I am writing the code in Typescript file Myparser.ts.我在 Typescript 文件 Myparser.ts 中编写代码。

results.map(result => result['BUYER NAME']).forEach(buyer => console.log(buyer));

请参阅每个地图

results.forEach((obj)=>console.log(obj['BUYER NAME']));

 const results=[ { 'PURCHASE DATE': '2016-04-03', 'CANDY PURCHASED': '1000', 'CASH PAID': '10000.11', 'BUYER NAME': 'Charlie Kelly' }, { 'PURCHASE DATE': '2017-11-14', 'CANDY PURCHASED': '1000', 'CASH PAID': '12000.22', 'BUYER NAME': 'Frank Reynolds' }, { 'PURCHASE DATE': '2018-01-20', 'CANDY PURCHASED': '2000', 'CASH PAID': '40000.33', 'BUYER NAME': 'Frank Reynolds' }, { 'PURCHASE DATE': '2018-03-20', 'CANDY PURCHASED': '2000', 'CASH PAID': '40000.44', 'BUYER NAME': 'Mac' }, { 'PURCHASE DATE': '2019-01-02', 'CANDY PURCHASED': '2000', 'CASH PAID': '50000.55', 'BUYER NAME': 'Sweet Dee' }, { 'PURCHASE DATE': '2019-01-02', 'CANDY PURCHASED': '1500', 'CASH PAID': '13500.66', 'BUYER NAME': 'Dennis Reynolds' } ] results.map(obj=>{ console.log(obj['BUYER NAME']); })
As you asked only to print Buyer Name What you did is right. 由于您只要求打印Buyer Name ,您所做的是正确的。 But you cannot fetch multi word String like results[i].name 但是你不能像results[i].name那样获取多字字符串

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM