嵌套字典/json的分解与解码
在我的应用程序中,我连接到一个服务器,该服务器返回一些类似于字典字典的 json 样式 unicode 字符串。因此,我想获得一个以 id
作为键和 unicode 值的分级字典,如下所示:
{'1': u'autos','3': u'cities '}
因此,我使用内置 json 模块加载响应:
>>> jsonData = json.loads(data)
>>> jsonData
{u'1': {u'id': u'1', u'name': u'autos'}, u'3': {u'id': u'3', u'name': u'cities'}, u'2': {u'id': u'2', u'name': u'business'},}
>>> type(jsonData)
<type 'dict'>
您可以在此处看到返回的对象。然后我应该分解它以摆脱父字典。最后对 id 进行编码。我发现了两种进行编码的方法。一:
>>> import unicodedata
>>> unicodedata.normalize('NFKD', data).encode('ascii','ignore')
第二:
>>> data.encode('ascii','ignore')
我应该如何完成这项任务,特别是分解?
In my app I'm connecting to a server which returns some json style unicode string resembling dictionary of dictionaries. As a result I'd like to get one leveled dictionary with id
as a key and unicode value like this :
{'1': u'autos','3': u'cities'}
So I load the response with built in json module :
>>> jsonData = json.loads(data)
>>> jsonData
{u'1': {u'id': u'1', u'name': u'autos'}, u'3': {u'id': u'3', u'name': u'cities'}, u'2': {u'id': u'2', u'name': u'business'},}
>>> type(jsonData)
<type 'dict'>
You can see the returned object here. Then I should decompose it to get rid of the parent dictionary. And finally encode the id's. I've found two methods how to do the encoding. One :
>>> import unicodedata
>>> unicodedata.normalize('NFKD', data).encode('ascii','ignore')
and second:
>>> data.encode('ascii','ignore')
How I should do this task, especially the decomposition ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这应该有效:
您还可以使用生成器表达式,如 dugres 的答案所示。
This should work:
You could also use a generator expression, as in dugres' answer.