2012-01-03 81 views
3

我收到了一個包含大量信息的JSON文件,並且我試圖獲取這個JSON文件的一些屬性,我在Python API中進行了研究,但是找不到任何關於某些函數的信息搜索JSON文件或用「加載」方法加載的字符串,有人知道通過簡單而乾淨的操作獲取指定信息的方法嗎?操縱json文件python

編輯

按照JSON文件執行後的負載功能:

{ 
    "servers": [ 
    { 
     "status": "ACTIVE", 
     "updated": "2012-01-02T20:46:21Z", 
     "hostId": "ID", 
     "user_id": "ID", 
     "name": "Serve", 
     "links": [ 
     { 
      "href": "URL", 
      "rel": "self" 
     }, 
     { 
      "href": "URL", 
      "rel": "bookmark" 
     } 
     ], 
     "addresses": { 
     "nuvemcpca": [ 
      { 
      "version": 4, 
      "addr": "10.0.0.2" 
      } 
     ] 
     }, 
     "tenant_id": "nuvemcpca", 
     "image": { 
     "id": "15", 
     "links": [ 
      { 
      "href": "URL", 
      "rel": "bookmark" 
      } 
     ] 
     }, 
     "created": "2012-01-02T20:19:04Z", 
     "uuid": "1710c4bb-3d48-49f9-b88e-2a19355de199", 
     "accessIPv4": "", 
     "accessIPv6": "", 
     "key_name": "name", 
     "progress": 100, 
     "flavor": { 
     "id": "1", 
     "links": [ 
      { 
      "href": "URL", 
      "rel": "bookmark" 
      } 
     ] 
     }, 
     "config_drive": "", 
     "id": 15, 
     "metadata": { 

     } 
} 

我想要得到的狀態信息。

+1

您是否嘗試過使用鉤子函數'object_hook'和load()'''loads()'?另外,請舉一個JSON數據的例子,以及你想從中提取的內容。 – hochl 2012-01-03 12:12:09

+0

你想得到什麼樣的屬性?它如何看待你的json文件? – jcollado 2012-01-03 12:14:28

回答

1

您的數據似乎沒有正確格式化,特別是我沒有看到"servers":後面的一個開口的方括號在哪裏,但我會說你要找的是:

data['servers'][0]['status'] 

其中data是指向json.loads的結果的變量。

+0

jcollado它的工作原理,但我必須做到這一點多個JSON對象,我怎麼能得到列出的所有服務器的計數在我的循環中做一個限制條件? – guisantogui 2012-01-03 12:43:42

+0

@guisantogui我不確定你的意思。你能詳細解釋一下嗎? – jcollado 2012-01-03 12:47:52

+0

我懂了!謝謝! – guisantogui 2012-01-03 13:17:31