2016-10-20 1 views
0

У меня возникли проблемы с загрузкой моего файла json с использованием json.load(). Мой формат является geojson на следующем примере формате:geoJson: Json.load() ValueError: Ожидание названия свойства: строка 2 столбец 9

{ "type" : "Feature Collection", 
     {"features" : [ 
      { "type" : "Feature", 
     "id" : "FORT_1", 
      "geometry" : { 
       "type" : "Point", 
       "coordinates" : ["121.046859", "14.54544278"]}, 
     "properties" : { "name" : "City"} 
     }, 
      { "type" : "Feature", 
     "id" : "FORT_2", 
      "geometry" : { 
       "type" : "Point", 
       "coordinates" : ["121.0500991", "14.54973692"]}, 
     "properties" : { "name" : "One"} 
     }, 

Я хотел проверить его, используя следующий код, зная, что это создаст dict:

  with open(geojsonFilePath) as file: 
      jsonFile = json.load(file) 

      for feature in jsonFile['features']: 
       print (['id']) 
       print (['geometry'],['type']) 
       print (['geometry'],['coordinates']) 
       print (['properties'],['name']) 

Однако ошибка происходит на линия jsonFile = json.load(file)

+0

Что такое 'FORT_1' и' FORT_2'? Ваш json недействителен с теми –

+0

@MosesKoledoye hangon Позвольте мне проверить это на моем шаблоне и повторить попытку. хотя ошибка указывает на @ строку, где '{" features ": {' помещается. – Reiion

+0

@MosesKoledoye в любом случае я перепроверил, что у него была такая же ошибка – Reiion

ответ

0

Вот все вопросы с вашей JSON я мог бы найти

Во-первых, в

{ "type" : "Feature Collection", 
    {"features" : [ 

Вы хотите добавить объект без ключа, он должен быть либо

{ "type" : "Feature Collection", 
    "features" : [ 

или

{ "type" : "Feature Collection", 
    "somekey": features" : [ 

Затем, есть FORT_1 и FORT_2, которые выглядят как они являются имена переменных или константы, поэтому это должно быть либо заключено в кавычки, либо значения этих переменных/констант должны быть заменены.

И, наконец, есть много несогласованных фигурных скобок, не уверен, что вы разделили фрагмент или весь json, но массив фигурных элементов не закрыт, а последующие фигурные скобки не закрыты.

Я исправил ваш ввод, сделав несколько предположений для справки.

{ 
    "type": "Feature Collection", 

    "features": [{ 
     "type": "Feature", 
     "id": "FORT_1", 
     "geometry": { 
      "type": "Point", 
      "coordinates": ["121.046859", "14.54544278"] 
     }, 
     "properties": { 
      "name": "City" 
     } 
    }, { 
     "type": "Feature", 
     "id": "FORT_2", 
     "geometry": { 
      "type": "Point", 
      "coordinates": ["121.0500991", "14.54973692"] 
     }, 
     "properties": { 
      "name": "One" 
     } 
    }] 

} 
+0

привет, спасибо вам за то, что я четко указал свою ошибку на этой линии. Я исправил его и просто получил ошибку разделителя. :) Спасибо! – Reiion

+0

Я бы просто хотел спросить, правда ли, если мой json сказал, что возможно закончится следующим образом: '{ « type »:« Feature », « id »:« FORT_2 », « geometry »: { " Тип ": "Точка", "координаты": [" +121,0500991" , "+14,54973692"] }, "свойства": { "название": "Одна" } },] } ' – Reiion

+0

, где запятая все еще появляется прямо перед вторым символом? Это просто потому, что я использую шаблон прямо сейчас и имел эту проблему с разделителем после исправления этой ошибки. Мне интересно, если это причина? – Reiion

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