gpt4 book ai didi

elm - 将嵌套的 json 解码并展平为 Elm 记录

转载 作者:行者123 更新时间:2023-12-04 11:47:28 26 4
gpt4 key购买 nike

我刚刚开始学习 Elm,但遇到了障碍。从这个很棒的社区寻求一些帮助。

我希望解码嵌套的 json 并将特定的嵌套值拉入 elm 记录中。

json 源代码如下所示:

 {
"id": 672761,
"modified": "2018-02-12T00:53:04",
"slug": "Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.",
"type": "post",
"link": "https://awesomelinkhere.com",
"title": {
"rendered": "Sed posuere consectetur est at lobortis."
},
"content": {
"rendered": "Nulla vitae elit libero, a pharetra augue.",
},
"excerpt": {
"rendered": "Donec sed odio dui.",
}
}

我想拆开 title.renderedcontent.rendered进入我的模型中的一个字段,模型看起来像这样:
type alias Post =
{ id : Int
, published : String
, title : String
, link : String
, slug : String
, excerpt : String
}

我天真的解码器看起来像这样
postDecoder : Decoder Post
postDecoder =
Decode.map6 Post
(field "id" Decode.int)
(field "modified" Decode.string)
(field "title" Decode.string)
(field "link" Decode.string)
(field "slug" Decode.string)
(field "excerpt" Decode.string)

最佳答案

更新

正如通常发生的那样,我一发布这个就找到了答案。我查看了 Json.Decode documentation并偶然发现了 at功能

我的工作解码器现在看起来像这样

postDecoder : Decoder Post
postDecoder =
Decode.map6 Post
(field "id" Decode.int)
(field "modified" Decode.string)
(at [ "title", "rendered" ] Decode.string)
(field "link" Decode.string)
(field "slug" Decode.string)
(at [ "excerpt", "rendered" ] Decode.string)

关于elm - 将嵌套的 json 解码并展平为 Elm 记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48739687/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com