简体   繁体   English

如何将带有反斜杠的字符串转换为json

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM