我将收到一个来自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
发布于 2012-12-19 03:44:46
U前缀只是表示您有一个Unicode字符串。当您真正使用该字符串时,它不会出现在您的数据中。不要被打印出来的输出吓到了。
例如,尝试如下所示:
print mail_accounts[0]["i"]
你看不到你。
发布于 2012-12-19 03:45:08
一切都很好,伙计。'u‘是个好东西,它表明字符串在python2.x中是Unicode类型的。
http://docs.python.org/2/howto/unicode.html#the-unicode-type
发布于 2012-12-19 03:46:20
Unicode在这里是一个合适的类型。JSONDecoder文档描述了转换表和声明,即json字符串对象被解码为Unicode对象。
https://docs.python.org/2/library/json.html#encoders-and-decoders
JSON Python
==================================
object dict
array list
string unicode
number (int) int, long
number (real) float
true True
false False
null None
“编码确定用于解释由此实例解码的任何字符串对象的编码(默认情况下为UTF-8)。”
https://stackoverflow.com/questions/13940272
复制相似问题