python - 有没有办法解码包含字符串格式数字的 json?

标签 python json python-3.x decode

我有一个 json 文件,其中所有整数和 float 都表示为字符串: [{"x": "123.45", "stuff": "things"}] 我一直在试图弄清楚是否有一种简单的方法可以将其读入并解码到字典中,以便所有数字字符串都转换回数字: {"x": 123.45, "stuff “:“事物”} 我认为 JSONDecoder 应该具有此功能,但我似乎无法弄清楚。我尝试设置 parse_float=Decimal,但这似乎没有任何作用。 有没有人有任何想法而不创建一个全新的功能?

最佳答案

下面是一个例子,你可以尝试一下

注意:使用 isdigit() 检查其是否为整数。

没有 isFloat(),因此创建了一个简单的 isFloat() 函数来检查 float

def isFloat(string):
    try:
        float(string)
        return True
    except ValueError:
        return False


example = {"x":"123.45",
             "y":"120"}

for key, value in example.items():
    if value.isdigit():
        example[key]=int(value)
    elif isFloat(value):
        example[key]=float(value)


print (example)

输出:{'x':123.45,'y':120}

关于python - 有没有办法解码包含字符串格式数字的 json?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58717555/

相关文章:

python - pandas 数据帧上的正则表达式更改列名称,然后重新排列数据帧的格式

python - 使用一些数据文件为 PIP 制作一个 python 包

python - 如何在 Python 中生成指数增长的范围

json - 如何让 Spark 将 JSON 转义字符串字段解析为 JSON 对象以推断数据帧中的正确结构?

python - 如何在没有嵌套循环的情况下检查两个模型ID?

json - 如何使用 json 自动生成 rake 迁移文件

json - 如何在 Golang 中解析 JSON 字符串?

python-3.x - seaborn.catplot 的问题

python - 几个小时后 Django + PyMySQL 抛出 "MySQL server has gone away"

python-3.x - 如何使用逗号分隔的值列创建虚拟变量?