2013-10-11 3 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

Там в [ 'json'] модуль (http://docs.python.org/2/library/json.html), так как питон 2.6, используйте его .. – 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"] ', но make 'print property [" api "]' дал мне ошибку "строковые индексы должны быть целыми". Если я просто использую один цикл и выполняю 'print feature [" properties "] [" api "]', он отлично работает. Благодаря! – Ben

Смежные вопросы