2012-03-19 81 views
4

我无法找到如何蟒蛇列表转换的元素是这样的:如何将列表(列表)列表转换为Python中的json数组?

[[["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中的对应列表。

平原json.dumps(MYLIST)刚刚返回原始列表(我猜,这是公元前这是一个有效的JSON对象,以及...)

你可能有任何建议,非常感谢!

+3

?这将更容易使用,并且还可以序列化到您要查找的JSON中。 – abesto 2012-03-19 12:05:51

+0

现在使用字典。谢谢! – 2012-03-20 10:11:27

回答

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

非常感谢您的建议! – 2012-03-20 10:09:28