{ '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
下的内容是一个具有相同键的字典列表 - 但我事先不知道这些键,也不知道它们的值类型(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)
我遇到了这个错误:
正确使用字典解码器的语法是什么?这样会起作用吗?我找不到任何通用的 Elm 解码器...函数
list
期望的参数是: Decode.Decoder (Dict.Dict String a)但实际上是: Decode.Decoder a -> Decode.Decoder (Dict.Dict String a)
Decode.at [ "result" ] <| (Decode.list (Decode.dict Decode.string))
,它确实编译通过,并且HTTP请求也很好(在“Ok”分支中执行的代码),但我在模型中得到的结果是一个空列表...我不知道如何调试它。 - François Constant