【问题标题】:Poison cannot parrse a json string that has 0 prefix [duplicate]Poison 无法解析具有 0 前缀的 json 字符串 [重复]
【发布时间】:2020-07-06 18:01:42
【问题描述】:

当我解析具有 0 前缀的有效 json 字符串时,Poison 返回无效。 例如,

Poison.Parser.parse("{\"mynumber\":09315}") 返回 {:error, {:invalid, "9", 13}},但如果我删除 0 前缀 Poison.Parser.parse("{\"mynumber\":9315}") 返回 {:ok, %{"mynumber" => 9315}}

我想知道为什么"{\"mynumber\":09315}" 无效。有什么解决办法吗?

【问题讨论】:

  • @DavidCullen 谢谢,它回答了我一半的问题。
  • 对于解决方法,我只是在解析之前用 String.replace("{\"mynumber\":09315}", ~r/\"mynumber\"\:0*/, "\"mynumber\":") 替换它

标签: json elixir elixir-poison


【解决方案1】:

Why is JSON invalid if an integer begins with a leading zero? 解释了"{\"mynumber\":09315}" 无效的原因。

对于解决方法,我只是在解析之前用 String.replace("{\"mynumber\":09315}", ~r/\"mynumber\"\:0*/, "\"mynumber\":") 替换它

【讨论】:

    猜你喜欢
    • 2012-10-22
    • 1970-01-01
    • 1970-01-01
    • 2018-09-13
    • 1970-01-01
    • 1970-01-01
    • 2013-05-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多