gpt4 book ai didi

在 Elixir 中将 JSON 字符串解析为整数

转载 作者:行者123 更新时间:2023-12-03 07:53:04 31 4
gpt4 key购买 nike

我正在处理一个将数字作为字符串返回的 JSON API。例如 "12" ,但是,该字段值也可以是非数字的,例如:"-" .

我已将 JSON 数据解析为映射,我想将此字段提取为 elixir 中的整数,然后根据整数在某个范围内的位置执行一些操作。

似乎有多种方法可以做到这一点,其中两个主要是 Integer.parse/1 ,它返回一个元组或 :error , 和 String.to_integer/1 ,它返回整数或引发异常。

根据字符串中包含的数值在某个范围内的位置执行某些操作的最佳方法是什么,并适本地处理解析错误?

最佳答案

如果期望值不能是整数(在正常情况下,非特殊情况下),则应使用 Integer.parse/2 :

analysis =
case Integer.parse(string_value_from_json) do
{i, ""} when i in 1..10 ->
"integer #{i} between 1 and 10"
{i, ""} when i in 11..20 ->
"integer #{i} is between 11 and 20"
{i, ""} ->
"integer #{i} was out of range"
_ -> "integer could not be parsed"
end

抛出和处理异常应该作为最后的手段,不鼓励用于控制流。

关于在 Elixir 中将 JSON 字符串解析为整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50112708/

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