Ich habe vor kurzem versucht, Daten vom Server mit Elms Http-Modul zu bekommen, und ich bin mit der Dekodierung Json zu benutzerdefinierten Typen in Elm stecken.Decode Json Array mit Objekten in Elm
Meine JSON sieht wie folgt aus:
[{
"id": 1,
"name": "John",
"address": {
"city": "London",
"street": "A Street",
"id": 1
}
},
{
"id": 2,
"name": "Bob",
"address": {
"city": "New York",
"street": "Another Street",
"id": 1
}
}]
Welche decodiert werden sollten:
type alias Person =
{
id : Int,
name: String,
address: Address
}
type alias Address =
{
id: Int,
city: String,
street: String
}
Was ich bisher gefunden ist, dass ich brauche eine Decoder-Funktion schreiben:
personDecoder: Decoder Person
personDecoder =
object2 Person
("id" := int)
("name" := string)
Das für die ersten beiden Eigenschaften, aber wie ich die verschachtelte Address-Eigenschaft integrieren und wie kombinieren Sie dies zu dekodieren t Die Liste?
Ok, danke, aber wie kann ich sie kombinieren, um eine Liste von Personen zu dekodieren? – rubiktubik
Ich habe die Antwort aktualisiert, um den Listendecoder einzuschließen –
Danke! Sehr schöne Lösung! – rubiktubik