在榆树解码Dict

时间:2016-04-11 20:03:50

标签: elm

我在elm中有一个测试,它试图解码一个具有id和标题映射的简单json结构。当我给出0或者一个标题时,测试通过的次数超过了测试失败的次数:

sed "s/192[^:]\+ /192.168.56.109/" file > temp && mv temp file

两个结果是相同的,那么为什么它们根据断言不相等?

3 个答案:

答案 0 :(得分:2)

setlong-standingrange个问题报告了here数据结构Json.Decode

以下是一段通常解决问题的代码:

decoder : Json.Decode.Decoder (BaseValue String)
decoder =
  Json.Decode.map (\e -> Entry e) <|
  object4 (\t d i c -> {id=i, headers=h})
    ("text" := Json.Decode.string)
    ("headers" := Json.Decode.dict (lazy \_ -> decoder)))

lazy : (() -> Decoder a) -> Decoder a
lazy thunk =
  Json.Decode.customDecoder value
      (\js -> Json.Decode.decodeValue (thunk ()) js)

答案 1 :(得分:1)

显然==不能信任Dicts,Sets和Arrays,这是一个需要仔细解决而不仅仅是黑客攻击的问题。 github.com/elm-lang/core/issues/403。

答案 2 :(得分:1)

似乎问题Dict已在Elm 0.18.0中解决:

https://runelm.io/c/9dt