首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >json.loads :返回以'u‘为前缀的项目

json.loads :返回以'u‘为前缀的项目
EN

Stack Overflow用户
提问于 2012-12-19 03:40:28
回答 8查看 226.3K关注 0票数 171

我将收到一个来自Obj-C的JSON编码字符串,并且我正在解码一个虚拟字符串(目前),如下面的代码所示。我的输出以字符'u‘作为每个项目的前缀:

代码语言:javascript
复制
[{u'i': u'imap.gmail.com', u'p': u'aaaa'}, {u'i': u'333imap.com', u'p': u'bbbb'}...

JSON是如何添加这个unicode字符的?删除它的最好方法是什么?

代码语言:javascript
复制
mail_accounts = []
da = {}
try:
    s = '[{"i":"imap.gmail.com","p":"aaaa"},{"i":"imap.aol.com","p":"bbbb"},{"i":"333imap.com","p":"ccccc"},{"i":"444ap.gmail.com","p":"ddddd"},{"i":"555imap.gmail.com","p":"eee"}]'
    jdata = json.loads(s)
    for d in jdata:
        for key, value in d.iteritems():
            if key not in da:
                da[key] = value
            else:
                da = {}
                da[key] = value
        mail_accounts.append(da)
except Exception, err:
    sys.stderr.write('Exception Error: %s' % str(err))

print mail_accounts
EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2012-12-19 03:44:46

U前缀只是表示您有一个Unicode字符串。当您真正使用该字符串时,它不会出现在您的数据中。不要被打印出来的输出吓到了。

例如,尝试如下所示:

代码语言:javascript
复制
print mail_accounts[0]["i"]

你看不到你。

票数 178
EN

Stack Overflow用户

发布于 2012-12-19 03:45:08

一切都很好,伙计。'u‘是个好东西,它表明字符串在python2.x中是Unicode类型的。

http://docs.python.org/2/howto/unicode.html#the-unicode-type

票数 160
EN

Stack Overflow用户

发布于 2012-12-19 03:46:20

Unicode在这里是一个合适的类型。JSONDecoder文档描述了转换表和声明,即json字符串对象被解码为Unicode对象。

https://docs.python.org/2/library/json.html#encoders-and-decoders

代码语言:javascript
复制
JSON                    Python
==================================
object                  dict
array                   list
string                  unicode
number (int)            int, long
number (real)           float
true                    True
false                   False
null                    None

“编码确定用于解释由此实例解码的任何字符串对象的编码(默认情况下为UTF-8)。”

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13940272

复制
相关文章

相似问题

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