में एक JSON ऐरे बनाना, मुझे अनुरोध करते समय क्लाइंट को भेजे जाने के लिए एक जेएसओएन स्ट्रिंग नोड जेएस में लिखे गए मेरे सर्वर में बनाने की आवश्यकता है। समस्या यह है कि यह JSON सर्वर में उपलब्ध डेटा पर निर्भर करता है, इस प्रकार, JSON सरणी का आकार हमेशा समान नहीं होता है। मैंने पूरे दिन कोशिश की है, लेकिन हालांकि मैं करीब होना चाहता हूं, फिर भी मुझे यह नहीं मिला।नोड जेएस
एक उदाहरण क्वेरी इस प्रकार है:
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}]};
मैं द्वारा सर्वर पर भेजना होगा:
res.contentType('application/json');
res.send(json);
JSON सारणी कि मैं इसे में हैश 'लक्ष्य' जहां कहा जाता है पर निर्भर करता है बनाना चाहते एक खिलाड़ी का नाम कुंजी और मूल्य के कई लक्ष्य हैं। इस प्रकार, यदि केवल 3 खिलाड़ी हैं, तो JSON Array में केवल यह आकार होना चाहिए।
मैं इस तरह ऑनलाइन JSON सारणी बनाने के लिए कोशिश कर रहा:
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]});
हालांकि, ग्राहक केवल आकार 1
Object {jugadores: Array[1]}
jugadores की एक json प्राप्त करता है: सरणी [1] 0: "{nombre: Messi, goles: 8}, {nombre: रोनाल्डो, goles: 16}, {nombre: कोस्टा, goles: 10}, {nombre: toquero, goles: 0}, {nombre: अरबी, goles: 2}, {nombre: बेल, goles: 10}, {nombre: नेमार, goles: 8} " लंबाई: 1
अग्रिम धन्यवाद, मैं वास्तव में इसके साथ संघर्ष कर रहा हूं :(
संपादित करें: मैं इसे करने के लिए अब कोशिश कर रहा हूं, लेकिन कोई भाग्य नहीं। मुझसे क्या गलती हुई है?
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);
लक्ष्य हैश प्राप्त का उपयोग कर भरा है:
app.get('/player/:id', function (req, res) {
res.contentType('application/json');
res.send({'goals': + goals[req.params.id] });
});
उपयोग res.send (JSON.stringify (खिलाड़ियों)) और पाश से छुटकारा पाने और चर परिणाम है। –
कैसे? मेरा मतलब है, अगर मैं लूप से छुटकारा पाता हूं तो मुझे वह जानकारी प्राप्त नहीं होती है जिसे मैं भेजना चाहता हूं। – Rafag
क्या आप अपने कोड का हिस्सा दिखा सकते हैं जहां आप 'लक्ष्यों' –