Приведенный вами образец json не похож на действительный geojson для меня.Вы можете найти синтаксические анализаторы, которые не так строги, но запятой (",") в конце строки "Tag_Number", например, быть не должно, и я ожидаю найти атрибут "type", определяющий любую геометрию илиfeatures.
Кроме того, geojson добавляет семантическое значение для json, чтобы вы могли для своих задач рассматривать его как любую задачу разбора json в Python.
Если ваши данные находятся в файлеsample.geojson
вы можете читать из файла методом load()
:
import json
with open('sample.geojson') as data:
geo = json.load(data)
В результате geo
будет обычным Словарём Python , который вы можете просмотреть.Вызвав geo.keys()
, вы можете найти все ключи в данных.
In [4]: geo.keys()
Out[4]: [u'fields', u'geom', u'extensions', u'id']
Вы получаете доступ к любым значениям, как к любому словарю Python, указав ключ: geo['extensions']
.
In [5]: geo['extensions']
Out[5]:
{u'attachment': [{u'description': u'',
u'id': 7,
u'is_image': True,
u'mime_type': u'image/jpeg',
u'name': u'1531402833735.jpg',
u'size': 4559151},
{u'description': u'',
u'id': 8,
u'is_image': True,
u'mime_type': u'image/jpeg',
u'name': u'1531402882838.jpg',
u'size': 6418150}],
u'description': None}
Поскольку extensions
сам по себе является словарем, вы также можете ссылаться на него и циклически перебирать любые значения, являющиеся списком словарей.
In [6]: for item in geo['extensions']['attachment']:
...: print(item['name'])
...:
1531402833735.jpg
1531402882838.jpg
ipython может оказаться полезным интерактивным инструментом, когда вы научитесь работать с данными и структурами данных в Python.