Python:json.loads返回以“ u”为前缀的项目

我将收到来自Obj-C的JSON编码字符串,并且正在解码一个伪字符串(目前),如下面的代码。我的输出结果是在每个项目前加上字符’u’:

[{u'i': u'imap.gmail.com', u'p': u'aaaa'}, {u'i': u'333imap.com', u'p': u'bbbb'}...

JSON如何添加此Unicode字符?删除它的最佳方法是什么?

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

回答:

u-前缀仅表示您具有Unicode字符串。当您真正使用字符串时,它不会出现在您的数据中。不要被打印输出扔掉。

例如,尝试以下操作:

print mail_accounts[0]["i"]

你不会看到你。

以上是 Python:json.loads返回以“ u”为前缀的项目 的全部内容, 来源链接: utcz.com/qa/422045.html

回到顶部