我得到了一个类似于JSON的字符串,并试图使用python将其转换为有效的JSON。它看起来像这个例子,但是真正的数据会变得非常长:
{u'key':[{
u'key':u'object',
u'something':u'd\xfcabc',
u'more':u'\u2023more',
u'boolean':True
}]
}所以也有很多特殊的字符,还有“错误”的布尔值,应该是小写字母。我对我得到的数据没有任何影响,我只需要以某种方式解析它并从中提取一些东西。我试图替换特殊字符和所有东西,并强迫它成为一个有效的JSON,但它一点也不优雅,我很容易忘记替换一种特殊字符。
发布于 2014-09-29 08:08:09
为此,您可以使用来自ast模块的ast。
ast.literal_eval(yourString)
然后,您可以将这个对象转换回JSON。
发布于 2014-09-29 08:19:19
JSON规范只允许javascript数据(true、布尔人的false、null、None属性的undefined等)
这个问题的字符串,它是一个python对象,所以@florian说,您必须使用来自ast模块的ast
>>> 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'}]}https://stackoverflow.com/questions/26095165
复制相似问题