Я использую Elm 0.19.1 с NoRedInk / elm- json -decode-трубопровод / 1.0.0
У меня есть тип самолета, который
type alias Aircraft = {name:String}
Для этого у меня есть следующий декодер:
aircraftDecoder : Json.Decode.Decoder Aircraft
aircraftDecoder =
Json.Decode.succeed Aircraft
|> Json.Decode.Pipeline.required "name" Json.Decode.string
К сожалению, декодер жалуется мне, говоря: "BadBody" Проблема с заданным значением: (. ..) " Это потому, что на самом деле моя область интересов, если вокруг нее много шума (из API HATEOAS), например:
{
"_embedded" : {
"aircrafts" : [ {
"name" : "AC01",
"_links" : {
"self" : {
"href" : "http://localhost:8080/aircrafts/1"
},
"aircraft" : {
"href" : "http://localhost:8080/aircrafts/1"
}
}
}, {
"name" : "AC01",
"_links" : {
"self" : {
"href" : "http://localhost:8080/aircrafts/2"
},
"aircraft" : {
"href" : "http://localhost:8080/aircrafts/2"
}
}
} ]
},
"_links" : {
"self" : {
"href" : "http://localhost:8080/aircrafts{?page,size,sort}",
"templated" : true
},
"profile" : {
"href" : "http://localhost:8080/profile/aircrafts"
}
},
"page" : {
"size" : 20,
"totalElements" : 4,
"totalPages" : 1,
"number" : 0
}
}
Как я могу изменить код, и продолжать использовать конвейер , чтобы декодер не терялся из-за всего этого шума?
Я что-то слышал об использовании Json .Decode.at, но документация недостаточно хороша, чтобы позвольте мне получить правильный код.