Ich möchte die folgende Struktur erhalten und in der Lage sein, die Benutzerarrays des entsprechenden Schlüssels zu ändern und sie mit einer JSON-Antwort zu senden.Wie kann ich diese Datenstruktur in NodeJS erhalten?
var data = ["A": [user1,user6,user9], "B": [user2], "E": [user3], "S": [user10], "Z": [user7], "J": [user8]]
data
sollte in diesem Format sein, wenn es innerhalb eines jsonObject
auf der Client-Seite (Swift) gesendet wird: [String : [User]]
, Das ist, was ich bisher versucht
var dict = [];
var jsonObject = {};
User.find({}, function(err, users) {
if (err) {
return res.status(500).send(err);
} else {
users.forEach(function(user) {
dict[user.name.substring(0, 1)] = []
dict[user.name.substring(0, 1)].push(user)
});
}
jsonObject["key"] = dict
return res.status(200).json(jsonObject);
});
Obwohl console.log(jsonObject)
druckt es richtig, die JSON-Antwort ist:
{
"key": []
}
Auf der Client-Seite (Swift) versuche ich, so etwas zu machen. Aber es gibt Fehler.
.responseJSON(completionHandler: { response -> Void in
if let jsonObj = response.result.value {
if let result = jsonObj["key"] as? [String: [User]]
{
var dict : [String: [User]] = result
print(dict)
}
}
})
Hilfe bitte?
Ist 'data' ein Objekt' var data = { "A": [user1, user6, user9], "B": [user2], "E": [Benutzer3], "S": [Benutzer10], "Z": [Benutzer7], "J": [Benutzer8]} ' – Sridhar
Es ist in diesem Format auf der IOS-Seite; [String: [User]] –