如何转换此字符串 u'{\'name\': "User", \'valid\': False}'
使用 .loads()
到 json .
我得到一个
*** ValueError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)
而且我不想使用.eval()
或ast_literals()
.
最佳答案
这看起来不像一个有效的 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'}
请注意,这并不真正可靠。
关于python - 如何将带有反斜杠的字符串转换为json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34682807/