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!
Parse JSON - Convert from JSON to Python If you have a JSON string, you can parse it by using the json.loads() method. The result will be a Python dictionary.
Steps for Appending to a JSON File In Python, appending JSON to a file consists of the following steps: Read the JSON in Python dict or list object. Append the JSON to dict (or list ) object by modifying it. Write the updated dict (or list ) object into the original file.
JSON, or JavaScript Object Notation, is a broader format used to encompass dictionary and list structures as shown in the image below. JSON: List and Dictionary Structure, Image by Author. The technical documentation says a JSON object is built on two structures: a list of key-value pairs and an ordered list of values.
The dump() method is used when the Python objects have to be stored in a file. The dumps() is used when the objects are required to be in string format and is used for parsing, printing, etc, . The dump() needs the json file name in which the output has to be stored as an argument.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With