我将收到来自 Objective-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' 为前缀的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13940272/