首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用unicode到有效的JSON的字符串

使用unicode到有效的JSON的字符串
EN

Stack Overflow用户
提问于 2014-09-29 08:03:03
回答 2查看 150关注 0票数 0

我得到了一个类似于JSON的字符串,并试图使用python将其转换为有效的JSON。它看起来像这个例子,但是真正的数据会变得非常长:

代码语言:javascript
运行
复制
{u'key':[{
       u'key':u'object',
       u'something':u'd\xfcabc',
       u'more':u'\u2023more',
       u'boolean':True
    }]
}

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-29 08:08:09

为此,您可以使用来自ast模块的ast

ast.literal_eval(yourString)

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

票数 3
EN

Stack Overflow用户

发布于 2014-09-29 08:19:19

JSON规范只允许javascript数据(true、布尔人的falsenullNone属性的undefined等)

这个问题的字符串,它是一个python对象,所以@florian说,您必须使用来自ast模块的ast

代码语言:javascript
运行
复制
>>> 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'}]}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26095165

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档