我有一个 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/