5

I'm having trouble finding how to convert python list of of elements like this:

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

to json array of elements like that:

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

Basically, I'm trying to convert list of lists with inner structure to a corresponding list in json.

Plain json.dumps(mylist) just returns the original list (I guess, it's because it's a valid json object as well...)

Many thanks for any suggestions you may have!

1
  • 3
    Why aren't you using a dictionary for the original data? That would be easier to use, and also serialize into the JSON you're looking for. Commented Mar 19, 2012 at 12:05

1 Answer 1

5

The parentheses in your original code are unbalanced. If I remove one parentheses in the beginning:

>>> 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'}
>>> 

Then I can serialize it to json.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.