Я хочу декодировать файл Json, который будет выглядеть так:
{ 'result': [
{'id': 1, 'model': 'online', 'app_label': 'some_app_users'},
{'id': 2, 'model': 'rank', 'app_label': 'some_app_users'},
]}
или вот так:
{ 'result': [
{'id': 1, 'name': 'Tom', 'skills': {'key': 'value', ...}, {'key': 'value', ...}},
{'id': 1, 'name': 'Bob', 'skills': {'key': 'value', ...}, {'key': 'value', ...}},
]}
По сути, содержимое в result
представляет собой список dicts с одинаковыми ключами - но я не знаю эти ключи заранее и не знаю их типов значений (int, string, dict и т. Д. .).
Цель - показать содержимое таблиц базы данных; Json содержит результат SQL-запроса.
Мой декодер выглядит так (не компилируется):
tableContentDecoder : Decode.Decoder (List dict)
tableContentDecoder =
Decode.at [ "result" ] (Decode.list Decode.dict)
Я использую это так:
Http.send GotTableContent (Http.get url tableContentDecoder)
Я получаю эту ошибку:
Функция
list
ожидает, что аргумент будет: Decode.Decoder (Dict.Dict String a)Но это: Decode.Decoder a -> Decode.Decoder (Dict.Dict String a)
Какой правильный синтаксис для использования декодера dict? Это сработает? Я не нашел универсального декодера Вяза ...