[英]How to convert string with backslash to json
How do I convert this string u'{\\'name\\': "User", \\'valid\\': False}'
to json using .loads()
. 如何使用
.loads()
将此字符串u'{\\'name\\': "User", \\'valid\\': False}'
为json。
I get a 我得到了
*** ValueError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)
and I don't want to use .eval()
or ast_literals()
. 我不想使用
.eval()
或ast_literals()
。
This does not look like a valid JSON - there should be double quote strings instead of single quote strings and false
instead of False
. 这看起来不像一个有效的JSON - 应该有双引号字符串而不是单引号字符串和
false
而不是False
。 ast.literal_eval()
would handle it as is, but if you want to use json.loads()
you would have to fix it before loading, for this sample input: ast.literal_eval()
将按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'}
Note that this is not really reliable. 请注意,这不是真的可靠。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.