Как читать JSON с неизвестным ключом в ReasonML?
Я пишу простое приложение, отображающее изображения собак из Dog API . Я использовал bs-json, чтобы сделать запись и использовать ее позже. Список пород можно получить по API. Ответ выглядит так.
{
"message": {
"breed": ["array of sub-breeds"],
"breed without subbreed": [],
...
},
"status": "success"
}
Таким образом, ключ не известен во время компиляции. Если я добавлю его один за другим, это будет своего рода хардкод. Мне нужны только породы, а не подпороды. Если возможно, я хотел бы их массив.
[| "chihuahua", "golden retreiver", ... |] // Something like this so I can make a select input
1 ответ
Я думаю, вы могли бы просто декодировать в
Js.Dict.t
а потом взять его ключи.
Что-то типа:
let decodeBreeds: Js.Json.t => array(string) =
Json.Decode.(dict(id) |> map(Js.Dict.keys))