Jason 解码两次以正确匹配模式
Posted
技术标签:
【中文标题】Jason 解码两次以正确匹配模式【英文标题】:Jason decode twice to pattern match correctly 【发布时间】:2021-08-28 20:12:11 【问题描述】:我对灵药真的很陌生,所以请原谅我的无知。我在body
(来自公共 api)中有一个 json 响应,我需要解码两次才能真正获得可以进行模式匹配的地图。我不明白为什么会发生这种情况以及如何避免它?谢谢。
body = "\"\\\"access_token\\\":\\\"r5f3w73pjjjoembe4azhp892475wah\\\",\\\"expires_in\\\":5102694,\\\"token_type\\\":\\\"bearer\\\"\\n\""
result = body |> Jason.decode! |> Jason.decode!
%"access_token" => access_token = result
编辑:在 Postman/Node fetch 中的响应很好,当它来自 elixir 中的 Tesla 客户端时,它只是像这样逃脱了。
【问题讨论】:
【参考方案1】:正如我所想,我的无知是罪魁祸首。我不知道inspect()
实际上是Kernel.inspect()
(这实际上是有道理的),并且该函数输出修改后的输入表示以进行调试。我将它与返回未更改项目的IO.inspect()
混淆了。所以我会留下这个问题,以防有人把它们弄混了。
【讨论】:
以上是关于Jason 解码两次以正确匹配模式的主要内容,如果未能解决你的问题,请参考以下文章