gpt4 book ai didi

javascript - Java 和 Node.js 之间的通信 JSON

转载 作者:行者123 更新时间:2023-12-02 11:08:20 26 4
gpt4 key购买 nike

我必须将 json 从 java 发送到 node.js!为此,请使用以下代码! json 由单个 Note 字段和特定类型的 Articolo 数组组成!事实是,当我打印 node.js 中的值时,出现以下错误。你能向我解释一下如何从node.js 内的JSON 中获取值吗?奇怪的是,注释字段甚至没有打印

错误:

{ '{"Articoli":':
{ '"SADRIN 830","8 RAGGI DOPPI 8TX 8RX - ALTEZZA 3,00 MT","232.0"': '' } }
SyntaxError: Unexpected end of JSON input at JSON.parse (<anonymous>)

Java 代码:

JSONObject obj = new JSONObject();
obj.put("Note", note);
JSONArray objArticoli=new JSONArray();
for(int i=0; i<=Articoli.size(); i++)
{
objArticoli.put(0,""+Articoli.get(i).GetCodice());
objArticoli.put(1,""+Articoli.get(i).GetDescrizione());
objArticoli.put(2,""+Articoli.get(i).GetPrezzo());

}
obj.put("Articoli",objArticoli);

try {
Database db = new Database();
ret = db.RequestArray("/rapportini/generarapportino", obj,true);
} catch (Exception ex) {
System.out.println("\n Error"+ex);
}

Node.js:

app.post("/rapportini/generarapportino",async function(request,response)
{

try
{
console.log(request.body);
var data = JSON.parse(Object.keys(request.body)[0]);
const ret=await RapportiniController.GeneraRapportino(data.Note);
response.setHeader('Content-Type', 'application/json');
response.send(JSON.stringify({ return: ret }));
}

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

});

最佳答案

您将覆盖 for 循环中的 json 数组项,因此最终您将仅拥有最后一个 Articoli 中的属性,尝试为每个 Articoli 项创建一个 json 对象并将其放入 json 数组中

JSONObject obj = new JSONObject();
obj.put("Note", note);
JSONArray objArticoli=new JSONArray();
for(int i=0; i<Articoli.size(); i++)
{
JSONObject articloliItem = new JSONObject();
articloliItem.put("Codice", Articoli.get(i).GetCodice());
articloliItem.put("Descrizione", Articoli.get(i).GetDescrizione());
articloliItem.put("Prezzo", Articoli.get(i).GetPrezzo());
objArticoli.put(articloliItem);

}
obj.put("Articoli",objArticoli);

这将产生具有以下结构的 json 对象

{
"Note": "some note",
"Articoli":[{
"Codice": "CodiceValue 1",
"Descrizione": "DescrizioneValue 1",
"Presso": "Prezzo 1"
},
{
"Codice": "CodiceValue 2",
"Descrizione": "DescrizioneValue 2",
"Presso": "Prezzo 2"
}]
}

关于javascript - Java 和 Node.js 之间的通信 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50761663/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com