如何使用u'{\'name\': "User", \'valid\': False}'
将此字符串.loads()
转换为json。
我得到了
*** ValueError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)
我不想使用.eval()
或ast_literals()
。
答案 0 :(得分:3)
此看起来不像是有效的JSON - 应该有双引号字符串而不是单引号字符串而false
而不是False
。 ast.literal_eval()
会按原样处理它,但如果您想使用json.loads()
,则必须在加载之前修复它,对于此示例输入:
>>> import json
>>>
>>> s = u'{\'name\': "User", \'valid\': False}'
>>> s = s.replace("\'", '"').replace("False", "false")
>>> json.loads(s)
{u'valid': False, u'name': u'User'}
请注意,这不太可靠。