Ich muss in meinem Server in Knoten js geschrieben eine JSON-Zeichenfolge an den Client gesendet werden, wenn diese Anfrage es. Das Problem ist, dass dieser JSON von den verfügbaren Daten auf dem Server abhängt, daher ist die Größe des JSON-Arrays nicht immer gleich. Ich habe den ganzen Tag versucht, aber obwohl ich mich in der Nähe fühle, verstehe ich es immer noch nicht.Erstellen eines JSON-Array in Knoten js
Ein Beispiel Abfrage folgt:
json={"players":[
{"name":"Messi", "goals":8},
{"name":"Ronaldo", "goals":22},
{"name":"Costa", "goals":20},
{"name":"Neymar", "goals":13},
{"name":"Arabi", "goals":6},
{"name":"Bale", "goals":3},
{"name":"Toquero", "goals":0}]};
ich es an den Server senden würde von:
res.contentType('application/json');
res.send(json);
Die JSON-Array, das schaffe ich möchte es auf einem Hash hängt 'Ziele' genannt, wo ein Spielername ist der Schlüssel und eine Anzahl von Zielen der Wert. Wenn also nur 3 Spieler vorhanden sind, sollte das JSON-Array nur diese Größe haben.
Ive versucht, die JSON-Array online wie diese zu erstellen:
result= "";
for(i in goals){
result = result+ '{ name:' + i + ", goals:" + goals[i] + '},';
}
result= result.substring(0, result.length - 1);
res.contentType('application/json');
res.send({ 'players': [ result]});
jedoch nur der Client eine json der Größe erhält 1
Object {jugadores: Array[1]}
jugadores: Array [1] 0: "{nombre: Messi, Goles: 8}, {nombre: Ronaldo, Goles: 16}, {nombre: Costa, Goles: 10}, {nombre: Toquero, Goles: 0}, {nombre: Arabi, Goles: 2}, {nombre: Bale, goles: 10}, {nombre: Neymar, goles: 8} " Länge: 1
Vielen Dank im Voraus, Im wirklich zu kämpfen mit :(
Edit: Ich versuche jetzt mit Stringy dies zu tun, aber kein Glück. Was mache ich falsch?
result= "players:[";
for(i in goals){
result= result+ '{ name:' + i + ", goals:" + goals[i] + '},';
}
result= result.substring(0, resultado.length - 1);
result= result + ']'
res.contentType('application/json');
myJSONstring = JSON.stringify(resultado);
res.send(myJSONstring);
Tore Hash wird mit GET gefüllt:
app.get('/player/:id', function (req, res) {
res.contentType('application/json');
res.send({'goals': + goals[req.params.id] });
});
Verwendung res.send (JSON.stringify (Spieler)) und der Schleife und führen variable loszuwerden. –
wie? Ich meine, wenn ich die Schleife los werde, erhalte ich nicht die Information, die ich senden möchte. – Rafag
können Sie den Teil Ihres Codes anzeigen, in dem Sie den Wert von 'goals' setzen –