2013-10-11 82 views
1

我試圖解析一個大的單行JSON文件,似乎無法弄清楚。我在這裏和其他地方尋找資源,但我看到的大部分內容都告訴你要逐行解析所有內容。由於我正在使用一條非常長的線,因此使用python解析此文件的最佳方法是什麼?Python:解析單行JSON文件

具體來說,我正在尋找JSON數據中嵌套字典中的一個特定值。數據看起來像這樣(通過格式化它運行後):

{ 
    "type":"FeatureCollection", 
    "features":[ 
     { 
     "type":"Feature", 
     "id":"wells.529038", 
     "geometry":null, 
     "properties":{ 
      "api":"4245180382" 
     } 
     }, 
     { 
     "type":"Feature", 
     "id":"wells.481699", 
     "geometry":null, 
     "properties":{ 
      "api":"4237182573" 
     } 
     } 
    ] 
} 

我想提取所有的API值,但我有麻煩纏繞我的頭圍繞如何做到這一點給出的多嵌套結構並且因爲該文件很大而且只有一行。這裏最好的辦法是什麼?

+0

有一個因爲Python 2.6 ['json'(http://docs.python.org/2/library/json.html)模塊,使用它.. 。 – l4mpi

+3

你可以這樣做:'import json'然後''json.load(open('my_file.json'))' –

回答

5

使用標準庫:

json_data = json.loads(your_line) 

# Usage exemple 
for feature in json_data['features']: 
    print feature['id'] 
+0

我這樣做了,但是嵌套了另一個循環,用於屬性的特性[「properties」]',但是做'print property [「api」]'給了我一個錯誤「字符串索引必須是整數」。如果我只使用一個循環並執行'print feature [「properties」] [「api」]',那麼它工作得很好。謝謝! – Ben