当我尝试运行此代码时,我遇到了一个错误
import ujson as json
input = '{"a":NaN}'
print(json.loads(input))
错误
print(json.loads(input))
ValueError: Expected object or value
我浏览了一些博客,发现ujson在执行json.loads
操作时不会处理nan
或NaN
值
我的最终目标: 我想
注意:我的输入可能是嵌套的json结构
input = {"name":"siva","details":{"id":"111","qualification":nan},"marks":[{"grade1":90,"grade2":null,"grade3":NaN}]}
预期产出
{"a":NaN}
{"name":"siva","details":{"id":"111","qualification":nan},"marks":[{"grade1":90,"grade2":null,"grade3":NaN}]}
有人能提出解决方案吗?
NaN
不是有效的JSON符号,请参阅位于http://json.org/的规范ujson
不支持加载nan
/inf
。有关详细信息,请参见https://github.com/ultrajson/ultrajson/issues/146在我看来,试图用
null
替换nan
容易出错。 使用标准库中的json
。这里是到relevant part of the docs的链接最好的选择是使用jsonpickle正确地序列化numpy值
我不确定您所寻求的预期输出是什么(如果您也可以添加它,那就太好了)
以下代码将在没有任何错误的情况下执行:
相关问题 更多 >
编程相关推荐