使用node.js解析JSON [英] Parse JSON with node.js
问题描述
我必须解析一个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屋!