1

我对灵药真的很陌生,所以请原谅我的无知。我在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 客户端时,它只是像这样逃脱了。

4

1 回答 1

1

正如我所想,我的无知是罪魁祸首。我不知道这inspect()实际上是Kernel.inspect()(这实际上是有道理的)并且该函数输出了输入的修改表示以进行调试。IO.inspect()我将它与返回未更改的项目混淆了。所以我会留下这个问题,以防有人把它们弄混了。

于 2021-06-12T00:33:29.560 回答