2012-03-19 3 views
4

У меня возникли проблемы с поиском, как преобразовать список питона из элементов, как это:Как преобразовать список списков (списка) в json-массив в python?

[[["thisid", 24024502], ["points", [[["lat", 37.8732041], ["lon", -122.2562601]], [["lat", 37.8729153], ["lon", -122.2561566]]]], ["name", "Latimer Hall"]] 

в JSon массив элементов, как, что:

{"thisid":24024502, "points": [{"lat": 37.8732041, "lon": -122.2562601}, {"lat":37.8729153, "lon":-122.2561566}], "name":"Latimer Hall"} 

В принципе, я пытаюсь преобразовать список списков с внутренней структурой в соответствующий список в json.

Plain json.dumps (MyList) просто возвращает первоначальный список (я думаю, это Ьс это действительный объект JSON, а также ...)

Большое спасибо за любые предложения, которые вы можете иметь!

+3

Почему вы не используете словарь для исходных данных? Это было бы проще в использовании, а также сериализовать в JSON, который вы ищете. – abesto

+0

Использование dict сейчас. Благодаря! –

ответ

4

Parens в вашем исходном коде не сбалансированы. Если я удалить один скобку в начале:

>>> a = [["thisid", 24024502], ["points", [[["lat", 37.8732041], ["lon", -122.2562601]], [["lat", 37.8729153], ["lon", -122.2561566]]]], ["name", "Latimer Hall"]] 
>>> b = dict(a) 
>>> for i, l in enumerate(b['points']): 
...  b['points'][i] = dict(l) 
... 
>>> b 
{'points': [{'lat': 37.8732041, 'lon': -122.2562601}, {'lat': 37.8729153, 'lon': -122.2561566}], 'thisid': 24024502, 'name': 'Latimer Hall'} 
>>> 

Тогда сериализовать в JSON

+0

Большое спасибо за ваш совет! –

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