我希望能够解码看起来像 JSON 的格式,但可以处理十六进制内容。我们称它为 JSHON。示例内容:
{
"nine": 9,
"ten": 0xA,
"eleven": 11
}
哄stdlib json模块提供这种能力是否容易,还是我应该使用其他东西。
我希望能够解码看起来像 JSON 的格式,但可以处理十六进制内容。我们称它为 JSHON。示例内容:
{
"nine": 9,
"ten": 0xA,
"eleven": 11
}
哄stdlib json模块提供这种能力是否容易,还是我应该使用其他东西。
简单的解决方法是使用ast.literal_eval
,
>>> data = '''
... {
... "nine": 9,
... "ten": 0xA,
... "eleven": 11
... }
... '''
>>> import ast
>>> ast.literal_eval(data)
{'eleven': 11, 'nine': 9, 'ten': 10}
根据其文档,demjson支持这一点(在其非严格模式下)。它尚不支持 Python 3,但现在可以。