2014-12-03 59 views
-3

我從Web服務中獲得的字典名單如下列表:如何解析字典

[{"user_id": null, "name": "image", "resource_id": "2e81fbe8-6a03-4796-9d8c-c003c1e6e561", "source": "openstack", "meter_id": "MmU4MWZiZTgtNmEwMy00Nzk2LTlkOGMtYzAwM2MxZTZlNTYxK2ltYWdl\n", "project_id": "a9be8c1d04b94632860737075e58d094", "type": "gauge", "unit": "image"}, {"user_id": null, "name": "image", "resource_id": "49d640c0-2bbc-4496-b6c3-965fd441d1f2", "source": "openstack", "meter_id": "NDlkNjQwYzAtMmJiYy00NDk2LWI2YzMtOTY1ZmQ0NDFkMWYyK2ltYWdl\n", "project_id": "a9be8c1d04b94632860737075e58d094", "type": "gauge", "unit": "image"}, {"user_id": null, "name": "image", "resource_id": "7702315c-4c74-41b9-b641-2dc694b7efdf", "source": "openstack", "meter_id": "NzcwMjMxNWMtNGM3NC00MWI5LWI2NDEtMmRjNjk0YjdlZmRmK2ltYWdl\n", "project_id": "f8bd7d5659a74eb6a6c47650a43511b5", "type": "gauge", "unit": "image"}, {"user_id": null, "name": "image", "resource_id": "827de420-aa8e-4294-9e5b-954a0c181a43", "source": "openstack", "meter_id": "ODI3ZGU0MjAtYWE4ZS00Mjk0LTllNWItOTU0YTBjMTgxYTQzK2ltYWdl\n", "project_id": "a9be8c1d04b94632860737075e58d094", "type": "gauge", "unit": "image"}, {"user_id": null, "name": "image", "resource_id": "9ad7dd3c-d754-4614-9ba4-e5e6dd93eab6", "source": "openstack", "meter_id": "OWFkN2RkM2MtZDc1NC00NjE0LTliYTQtZTVlNmRkOTNlYWI2K2ltYWdl\n", "project_id": "f8bd7d5659a74eb6a6c47650a43511b5", "type": "gauge", "unit": "image"}, {"user_id": null, "name": "image", "resource_id": "bbea2145-b30d-4ded-8f39-ace6761e6235", "source": "openstack", "meter_id": "YmJlYTIxNDUtYjMwZC00ZGVkLThmMzktYWNlNjc2MWU2MjM1K2ltYWdl\n", "project_id": "a9be8c1d04b94632860737075e58d094", "type": "gauge", "unit": "image"}, {"user_id": null, "name": "image", "resource_id": "bcedf078-4d0b-4d6d-b7d2-b3c698e810ac", "source": "openstack", "meter_id": "YmNlZGYwNzgtNGQwYi00ZDZkLWI3ZDItYjNjNjk4ZTgxMGFjK2ltYWdl\n", "project_id": "f8bd7d5659a74eb6a6c47650a43511b5", "type": "gauge", "unit": "image"}, {"user_id": null, "name": "image", "resource_id": "cbaa1562-c6c0-4922-b5ec-95ae71d0ebda", "source": "openstack", "meter_id": "Y2JhYTE1NjItYzZjMC00OTIyLWI1ZWMtOTVhZTcxZDBlYmRhK2ltYWdl\n", "project_id": "f8bd7d5659a74eb6a6c47650a43511b5", "type": "gauge", "unit": "image"}, {"user_id": null, "name": "image.upload", "resource_id": "2e81fbe8-6a03-4796-9d8c-c003c1e6e561", "source": "openstack", "meter_id": "MmU4MWZiZTgtNmEwMy00Nzk2LTlkOGMtYzAwM2MxZTZlNTYxK2ltYWdlLnVwbG9hZA==\n", "project_id": "a9be8c1d04b94632860737075e58d094", "type": "delta", "unit": "image"}, {"user_id": null, "name": "image.upload", "resource_id": "49d640c0-2bbc-4496-b6c3-965fd441d1f2", "source": "openstack", "meter_id": "NDlkNjQwYzAtMmJiYy00NDk2LWI2YzMtOTY1ZmQ0NDFkMWYyK2ltYWdlLnVwbG9hZA==\n", "project_id": "a9be8c1d04b94632860737075e58d094", "type": "delta", "unit": "image"}, {"user_id": null, "name": "image.upload", "resource_id": "7702315c-4c74-41b9-b641-2dc694b7efdf", "source": "openstack", "meter_id": "NzcwMjMxNWMtNGM3NC00MWI5LWI2NDEtMmRjNjk0YjdlZmRmK2ltYWdlLnVwbG9hZA==\n", "project_id": "f8bd7d5659a74eb6a6c47650a43511b5", "type": "delta", "unit": "image"}, {"user_id": null, "name": "image.upload", "resource_id": "827de420-aa8e-4294-9e5b-954a0c181a43", "source": "openstack", "meter_id": "ODI3ZGU0MjAtYWE4ZS00Mjk0LTllNWItOTU0YTBjMTgxYTQzK2ltYWdlLnVwbG9hZA==\n", "project_id": "a9be8c1d04b94632860737075e58d094", "type": "delta", "unit": "image"}, {"user_id": null, "name": "image.upload", "resource_id": "9ad7dd3c-d754-4614-9ba4-e5e6dd93eab6", "source": "openstack", "meter_id": "OWFkN2RkM2MtZDc1NC00NjE0LTliYTQtZTVlNmRkOTNlYWI2K2ltYWdlLnVwbG9hZA==\n", "project_id": "f8bd7d5659a74eb6a6c47650a43511b5", "type": "delta", "unit": "image"}, {"user_id": null, "name": "image.upload", "resource_id": "bbea2145-b30d-4ded-8f39-ace6761e6235", "source": "openstack", "meter_id": "YmJlYTIxNDUtYjMwZC00ZGVkLThmMzktYWNlNjc2MWU2MjM1K2ltYWdlLnVwbG9hZA==\n", "project_id": "a9be8c1d04b94632860737075e58d094", "type": "delta", "unit": "image"}, {"user_id": null, "name": "image.upload", "resource_id": "bcedf078-4d0b-4d6d-b7d2-b3c698e810ac", "source": "openstack", "meter_id": "YmNlZGYwNzgtNGQwYi00ZDZkLWI3ZDItYjNjNjk4ZTgxMGFjK2ltYWdlLnVwbG9hZA==\n", "project_id": "f8bd7d5659a74eb6a6c47650a43511b5", "type": "delta", "unit": "image"}, {"user_id": null, "name": "image.upload", "resource_id": "cbaa1562-c6c0-4922-b5ec-95ae71d0ebda", "source": "openstack", "meter_id": "Y2JhYTE1NjItYzZjMC00OTIyLWI1ZWMtOTVhZTcxZDBlYmRhK2ltYWdlLnVwbG9hZA==\n", "project_id": "f8bd7d5659a74eb6a6c47650a43511b5", "type": "delta", "unit": "image"}, {"user_id": null, "name": "image.update", "resource_id": "2e81fbe8-6a03-4796-9d8c-c003c1e6e561", "source": "openstack", "meter_id": "MmU4MWZiZTgtNmEwMy00Nzk2LTlkOGMtYzAwM2MxZTZlNTYxK2ltYWdlLnVwZGF0ZQ==\n", "project_id": "a9be8c1d04b94632860737075e58d094", "type": "delta", "unit": "image"}, {"user_id": null, "name": "image.update", "resource_id": "49d640c0-2bbc-4496-b6c3-965fd441d1f2", "source": "openstack", "meter_id": "NDlkNjQwYzAtMmJiYy00NDk2LWI2YzMtOTY1ZmQ0NDFkMWYyK2ltYWdlLnVwZGF0ZQ==\n", "project_id": "a9be8c1d04b94632860737075e58d094", "type": "delta", "unit": "image"}, {"user_id": null, "name": "image.update", "resource_id": "7702315c-4c74-41b9-b641-2dc694b7efdf", "source": "openstack", "meter_id": "NzcwMjMxNWMtNGM3NC00MWI5LWI2NDEtMmRjNjk0YjdlZmRmK2ltYWdlLnVwZGF0ZQ==\n", "project_id": "f8bd7d5659a74eb6a6c47650a43511b5", "type": "delta", "unit": "image"}, {"user_id": null, "name": "image.update", "resource_id": "827de420-aa8e-4294-9e5b-954a0c181a43", "source": "openstack", "meter_id": "ODI3ZGU0MjAtYWE4ZS00Mjk0LTllNWItOTU0YTBjMTgxYTQzK2ltYWdlLnVwZGF0ZQ==\n", "project_id": "a9be8c1d04b94632860737075e58d094", "type": "delta", "unit": "image"}, {"user_id": null, "name": "image.update", "resource_id": "9ad7dd3c-d754-4614-9ba4-e5e6dd93eab6", "source": "openstack", "meter_id": "OWFkN2RkM2MtZDc1NC00NjE0LTliYTQtZTVlNmRkOTNlYWI2K2ltYWdlLnVwZGF0ZQ==\n", "project_id": "f8bd7d5659a74eb6a6c47650a43511b5", "type": "delta", "unit": "image"}, {"user_id": null, "name": "image.update", "resource_id": "bbea2145-b30d-4ded-8f39-ace6761e6235", "source": "openstack", "meter_id": "YmJlYTIxNDUtYjMwZC00ZGVkLThmMzktYWNlNjc2MWU2MjM1K2ltYWdlLnVwZGF0ZQ==\n", "project_id": "a9be8c1d04b94632860737075e58d094", "type": "delta", "unit": "image"}, {"user_id": null, "name": "image.update", "resource_id": "bcedf078-4d0b-4d6d-b7d2-b3c698e810ac", "source": "openstack", "meter_id": "YmNlZGYwNzgtNGQwYi00ZDZkLWI3ZDItYjNjNjk4ZTgxMGFjK2ltYWdlLnVwZGF0ZQ==\n", "project_id": "f8bd7d5659a74eb6a6c47650a43511b5", "type": "delta", "unit": "image"}, {"user_id": null, "name": "image.update", "resource_id": "cbaa1562-c6c0-4922-b5ec-95ae71d0ebda", "source": "openstack", "meter_id": "Y2JhYTE1NjItYzZjMC00OTIyLWI1ZWMtOTVhZTcxZDBlYmRhK2ltYWdlLnVwZGF0ZQ==\n", "project_id": "f8bd7d5659a74eb6a6c47650a43511b5", "type": "delta", "unit": "image"}, {"user_id": null, "name": "image.size", "resource_id": "2e81fbe8-6a03-4796-9d8c-c003c1e6e561", "source": "openstack", "meter_id": "MmU4MWZiZTgtNmEwMy00Nzk2LTlkOGMtYzAwM2MxZTZlNTYxK2ltYWdlLnNpemU=\n", "project_id": "a9be8c1d04b94632860737075e58d094", "type": "gauge", "unit": "B"}, {"user_id": null, "name": "image.size", "resource_id": "49d640c0-2bbc-4496-b6c3-965fd441d1f2", "source": "openstack", "meter_id": "NDlkNjQwYzAtMmJiYy00NDk2LWI2YzMtOTY1ZmQ0NDFkMWYyK2ltYWdlLnNpemU=\n", "project_id": "a9be8c1d04b94632860737075e58d094", "type": "gauge", "unit": "B"}, {"user_id": null, "name": "image.size", "resource_id": "7702315c-4c74-41b9-b641-2dc694b7efdf", "source": "openstack", "meter_id": "NzcwMjMxNWMtNGM3NC00MWI5LWI2NDEtMmRjNjk0YjdlZmRmK2ltYWdlLnNpemU=\n", "project_id": "f8bd7d5659a74eb6a6c47650a43511b5", "type": "gauge", "unit": "B"}, {"user_id": null, "name": "image.size", "resource_id": "827de420-aa8e-4294-9e5b-954a0c181a43", "source": "openstack", "meter_id": "ODI3ZGU0MjAtYWE4ZS00Mjk0LTllNWItOTU0YTBjMTgxYTQzK2ltYWdlLnNpemU=\n", "project_id": "a9be8c1d04b94632860737075e58d094", "type": "gauge", "unit": "B"}, {"user_id": null, "name": "image.size", "resource_id": "9ad7dd3c-d754-4614-9ba4-e5e6dd93eab6", "source": "openstack", "meter_id": "OWFkN2RkM2MtZDc1NC00NjE0LTliYTQtZTVlNmRkOTNlYWI2K2ltYWdlLnNpemU=\n", "project_id": "f8bd7d5659a74eb6a6c47650a43511b5", "type": "gauge", "unit": "B"}, {"user_id": null, "name": "image.size", "resource_id": "bbea2145-b30d-4ded-8f39-ace6761e6235", "source": "openstack", "meter_id": "YmJlYTIxNDUtYjMwZC00ZGVkLThmMzktYWNlNjc2MWU2MjM1K2ltYWdlLnNpemU=\n", "project_id": "a9be8c1d04b94632860737075e58d094", "type": "gauge", "unit": "B"}, {"user_id": null, "name": "image.size", "resource_id": "bcedf078-4d0b-4d6d-b7d2-b3c698e810ac", "source": "openstack", "meter_id": "YmNlZGYwNzgtNGQwYi00ZDZkLWI3ZDItYjNjNjk4ZTgxMGFjK2ltYWdlLnNpemU=\n", "project_id": "f8bd7d5659a74eb6a6c47650a43511b5", "type": "gauge", "unit": "B"}, {"user_id": null, "name": "image.size", "resource_id": "cbaa1562-c6c0-4922-b5ec-95ae71d0ebda", "source": "openstack", "meter_id": "Y2JhYTE1NjItYzZjMC00OTIyLWI1ZWMtOTVhZTcxZDBlYmRhK2ltYWdlLnNpemU=\n", "project_id": "f8bd7d5659a74eb6a6c47650a43511b5", "type": "gauge", "unit": "B"}] 

我想: 1)解析這個名單成單獨的字典 2)提取值從每個字典

因此,僞代碼將是:

for listItem in my_list: 
    userId = listItem["user_id"] 
    name = listItem["name"] 
    resourceId = listItem["resource_id"] 

什麼是正確的Python語法做到這一點?

+0

這已經有效陣列的。你期望輸出什麼? – davidism 2014-12-03 05:32:28

回答

1

也許這個簡單的例子將說明:

from pprint import pprint 
import json 

json_string = '[{"name": "Jean Luc", "rank": "Captain"}, {"name": "Worf", "rank": "Commander"}]' 

officers = json.loads(json_string) 
for officer in officers: 
    pprint(officer) 

你想看看Python的JSON庫[1]從字符串/文件到像列表和類型的字典正常的數據結構解析JSON。

[1] https://docs.python.org/2/library/json.html

+0

這工作:json_string = stringText 類型的字典= json.loads(json_string) 爲字典中類型的字典: 打印(辭典[ '名稱']) 打印(辭典[ 'USER_ID']) 打印(辭典[ 'RESOURCE_ID' ]) – 2014-12-03 05:52:17

0
listItem[0]["user_id"] 
listItem[0]["name"] 
listItem[0]["resource_id"] 

類似地對於下一個陣列

listItem[1]["user_id"] 
listItem[1]["name"] 
listItem[1]["resource_id"] 

,並檢查長度使用

len(listItem)