如何使用python提取json中指定字段的數據?
問題描述
現在有一個json數據,如下:
{ 'favourite':{ 'bkmrk':{ 'id1490843709594066':{ 'guid':'904eff52277f403b89f6410fe2758646.11', 'lcate':'1' }, 'id1490843712805183':{ 'guid':'58457f60eca64025bc43a978f9c98345.16', 'lcate':'2' }, 'id149084371467327':{ 'guid':'a0f907f9dc8b40f689b083f3eba7228b.16', 'lcate':'3' }, 'id1490843716295393':{ 'guid':'eb75d929455e468bb712e7bc2025d11a.16', 'lcate':'4' } } }}
我該如何使用python操作該json,才能輸出所有的guid和lcate有序對,即以下形式:
1;904eff52277f403b89f6410fe2758646.112;58457f60eca64025bc43a978f9c98345.163;a0f907f9dc8b40f689b083f3eba7228b.164;eb75d929455e468bb712e7bc2025d11a.16
非常感謝。
問題解答
回答1:json_dict = json.loads(json_str)for item in json_dict[’favourite’][’bkmrk’]: guid = json_dict[’favourite’][’bkmrk’][item][’guid’] lcate = json_dict[’favourite’][’bkmrk’][item][’lcate’] print ’%s:%s’ % (lcate,guid)
反正都是字典,不要想那么多
回答2:使用json包中的json.loads將該字符串轉換為Python字典。 代碼如下:
import jsonjson_data = '''{ 'favourite':{ 'bkmrk':{ 'id1490843709594066':{ 'guid':'904eff52277f403b89f6410fe2758646.11', 'lcate':'1' }, 'id1490843712805183':{ 'guid':'58457f60eca64025bc43a978f9c98345.16', 'lcate':'2' }, 'id149084371467327':{ 'guid':'a0f907f9dc8b40f689b083f3eba7228b.16', 'lcate':'3' }, 'id1490843716295393':{ 'guid':'eb75d929455e468bb712e7bc2025d11a.16', 'lcate':'4' } } }}'''data = json.loads(json_data)for v in data[’favourite’][’bkmrk’].values(): print('%s;%s' % (v[’lcate’], v[’guid’]))
相關文章:
1. 對mysql某個字段監控的功能2. javascript - windows下如何使用babel,遇到了困惑3. html5 - ElementUI table中el-table-column怎么設置百分比顯示。4. javascript - js中向下取整5. python - 為什么正常輸出中文沒有亂碼,zip函數之后出現中文編程unicode編碼的問題,我是遍歷輸出的啊。6. html - vue項目中用到了elementUI問題7. showpassword里的this 是什么意思?代表哪個元素8. java enum 變量不能再case里面重復定義?9. JavaScript事件10. javascript - table列過多,有什么插件可以提供列排序和選擇顯示列的功能
