使用node.js解析JSON [英] Parse JSON with node.js

查看:94
本文介绍了使用node.js解析JSON的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我必须解析一个json格式,如下所示!我必须解析两个数据,其中一个是数组!但是当我这样做时,会产生以下错误。我怎么解决?





Node.js代码:

< pre lang =Javascript> app.post( / rapportini / generarapportino,async function (请求,响应)
{
console .log( \ n Qualcuno sta generando un rapportino);
try
{
console .log(request.body);
var note = JSON .parse(Object.keys(request.body)[ 0 ]) ;
var articoli = JSON .parse(Object.keys(request.body)[< span class =code-digit> 1 ]); // Th is is array
const ret = await RapportiniController.GeneraRapportino(note,articoli);
response.setHeader(' Content-Type'' application / json');
response.send( JSON .stringify({ return :ret}));
}

catch (错误){
console .log( Errore generazione rapportino,错误)
}

});









JSON:

 {'{Note:Sa,Articoli:':
{'{Fornitore:COMET, Prezzo:48.850000000000001,CodArt:GW.2000,Importato:COMET,PrezzoListino:58.149999999999999,
IdArticolo:8013,CodMarca:ARE,Descrizione :LANTERNA RICARICABILE NEW LED},{Fornitore:COMET,Prezzo:48.85000000000000
1,CodArt:GW.2000,Importato:COMET,PrezzoListino :58.149999999999999,IdArticolo:8013,CodMarca:ARE,Descrizione:LAN
TERNA RICARICABILE NEW LED},{Importato:100Impianti,Fornitore:Cento Impianti Srl,IdArticolo:87,Descrizione:CAVO A
LLARME 6X022 2X075,Prezzo:0.45900000000000002,CodArt:I355IT} :''}}





错误:

 SyntaxError:JSON输入的意外结束
在JSON.parse(< anonymous>)





我是什么尝试过:



i尝试更新npm包

解决方案

你的JSON不在有效格式,当您查看语法着色时更明显。



应该是这样的:



 {
注意:Sa,
Articoli:[
{
Fornitore:COMET,
Prezzo:48.85,
CodArt:GW.2000,
Importato:COMET,
PrezzoListino:58.15,
IdArticolo:8013,
CodMarca:ARE,
Descrizione:LANTERNA RICARICABILE NEW LED
},
{
Fornitore: COMET,
Prezzo:48.85,
CodArt:GW.2000,
Importato:COMET,
Prezz oListino:58.15,
IdArticolo:8013,
CodMarca:ARE,
Descrizione:LANTERNA RICARICABILE NEW LED
},
{
Fornitore:Cento Impianti Srl,
Prezzo:0.459,
CodArt:I355IT,
Importato:100Impianti,
IdArticolo:87,
Descrizione:CAVO ALLARME 6X022 2X075
}
]
}


Hi I have to parse a json formatted as done below! I have to parse two data, one of which is an array! But when I do it, the error below is generated. How can I solve?


Node.js Code:

app.post("/rapportini/generarapportino",async function(request,response)
{
    console.log("\n Qualcuno sta generando un rapportino");
    try
    {
        console.log(request.body);
        var note = JSON.parse(Object.keys(request.body)[0]);
        var articoli=JSON.parse(Object.keys(request.body)[1]); //This is array
        const ret=await RapportiniController.GeneraRapportino(note,articoli);
        response.setHeader('Content-Type', 'application/json');
        response.send(JSON.stringify({ return: ret }));
    }

    catch(err){
        console.log("Errore generazione rapportino ",err)
    }

});





JSON:

{ '{"Note":"Sa ","Articoli":':
   { '{"Fornitore":"COMET","Prezzo":48.850000000000001,"CodArt":"GW.2000","Importato":"COMET","PrezzoListino":58.149999999999999,
"IdArticolo":8013,"CodMarca":"ARE","Descrizione":"LANTERNA RICARICABILE NEW LED"},{"Fornitore":"COMET","Prezzo":48.85000000000000
1,"CodArt":"GW.2000","Importato":"COMET","PrezzoListino":58.149999999999999,"IdArticolo":8013,"CodMarca":"ARE","Descrizione":"LAN
TERNA RICARICABILE NEW LED"},{"Importato":"100Impianti","Fornitore":"Cento Impianti S.r.l.","IdArticolo":87,"Descrizione":"CAVO A
LLARME 6X022   2X075","Prezzo":0.45900000000000002,"CodArt":"I355IT"}': '' } }



Error:

SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)



What I have tried:

i try update npm package

解决方案

Your JSON is not in a valid format, which is more obvious when you look at the syntax colouring.

It should probably be like this:

{
  "Note": "Sa ",
  "Articoli": [
    {
      "Fornitore": "COMET",
      "Prezzo": 48.85,
      "CodArt": "GW.2000",
      "Importato": "COMET",
      "PrezzoListino": 58.15,
      "IdArticolo": 8013,
      "CodMarca": "ARE",
      "Descrizione": "LANTERNA RICARICABILE NEW LED"
    },
    {
      "Fornitore": "COMET",
      "Prezzo": 48.85,
      "CodArt": "GW.2000",
      "Importato": "COMET",
      "PrezzoListino": 58.15,
      "IdArticolo": 8013,
      "CodMarca": "ARE",
      "Descrizione": "LANTERNA RICARICABILE NEW LED"
    },
    {
      "Fornitore": "Cento Impianti S.r.l.",
      "Prezzo": 0.459,
      "CodArt": "I355IT",
      "Importato": "100Impianti",
      "IdArticolo": 87,
      "Descrizione": "CAVO ALLARME 6X022   2X075"
    }
  ]
}


这篇关于使用node.js解析JSON的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆