Как читать 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))
Другие вопросы по тегам