繁体   English   中英

JSON(如带Unicode的字符串)转换为有效JSON

[英]JSON like string with unicode to valid JSON

我得到一个类似于JSON的字符串,并且正在尝试使用python将其转换为有效的JSON。 看起来像这个例子,但是实际数据变得很长:

{u'key':[{
       u'key':u'object',
       u'something':u'd\xfcabc',
       u'more':u'\u2023more',
       u'boolean':True
    }]
}

因此,还有很多特殊字符,以及“错误的”布尔值,它们应该只是小写字母。 我对获得的数据没有任何影响,我只需要以某种方式解析它并从中提取一些东西。 我试图替换特殊字符以及所有内容,并强制它成为有效的JSON,但它一点也不优雅,我很容易忘记替换一种类型的特殊字符。

您可以使用literal_evalast此模块。

ast.literal_eval(yourString)

然后,您可以将该对象转换回JSON。

JSON规范仅允许javascript数据( truefalsefalsenullNone属性为undefined等)
这个问题的字符串,它是一个Python对象,从而为@弗洛里安- dreschsler说,你必须使用literal_evalast模块

>>> import ast
>>> json_string = """
... {u'key':[{
...        u'key':u'object',
...        u'something':u'd\xfcabc',
...        u'more':u'\u2023more',
...        u'boolean':True,  #this property fails with json module
...        u'null':None,     #this property too
...     }]
... }
... """
>>> ast.literal_eval(json_string)
{u'key': [{u'boolean': True, u'null': None, u'something': u'd\xfcabc', u'key': u'object', u'more': u'\u2023more'}]}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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