gpt4 book ai didi

elm - 使用 Elm 解析片段内的查询字符串

转载 作者:行者123 更新时间:2023-12-04 16:55:36 25 4
gpt4 key购买 nike

对于 reasons我需要解析看起来格式化为查询字符串(即 key=value&another_key=another_value )但位于 URL 片段中的内容,例如:

http://example.com/callback#id_token=my_long_jwt&state=some_state

如果#? ,那么使用 <?> 会很容易,但我不知道如何(或是否)可以使用 Url.Parser.Query当它在一个片段中时。

我可以将片段作为 String :

import Url.Parser as Parser
import Url.Parser exposing ((</>))

type Route = Callback String | NotFound

route : Parser.Parser (Route -> a) a
route = Parser.map Callback (Parser.s "callback" </> fragmentWithDefault )

fragmentWithDefault : Parser.Parser (String -> a) a
fragmentWithDefault = Parser.fragment <| Maybe.withDefault "no_fragment"

toRoute : Url.Url -> Route
toRoute url = Maybe.withDefault NotFound (Url.Parser.parse route url)

但是 Url.Parser.Query 中没有API运行 Url.Parser.Query.Parser我可以针对它运行 StringCallback .

最佳答案

Url 解析器只是将 Url 片段视为 String但你可以替换 #?解析前:

Maybe.withDefault url <| Url.fromString <| String.replace '#' '?' <| Url.toString url

然后您将在查询部分获取您的片段,以便您可以正常解析它。

关于elm - 使用 Elm 解析片段内的查询字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55233905/

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