我有一本包含以下内容的词典:
d = ('CF', [{'lat': -3.234, 'long': '54.234', 'date': '05-12-1996'}, {'lat': -2.234, 'long': '57.544', 'date': '02-12-1996'}], 'DF': {'lat': -3.234, 'long': '54.234', 'date': '03-12-1996'}])
有时dict中的键包含一个值
d = ('k', [v])
键也可以包含两个或更多值
d = ('k', [{v1}, {v2}])
我正在尝试将此字典转换为JSON格式,并且遇到了很多问题。我目前有这个,我知道是不够的:
for i in geodata.items():
with open('geoJSON.json', 'w') as fp:
json.dump(i, fp)
这不适用于字典中的所有键值。我想知道如何将这个字典转换为JSON,同时将JEM文件命名为(CF,DF),并在字典值中取得日期(' date& #39;:' 05-12-1996')。要获得符合' CF-05-12-1996.json'行的JSON文件的名称。
因此,
CF-05-12-1996.json将包含:
{
'lat': -3.234,
'long': '54.234',
'date': '05-12-1996'
}
CF-02-12-1996.json将包含:
{
'lat': -2.234,
'long': '57.544',
'date': '02-12-1996'
}
最后,DF-03-12-1996.json将包含:
{
'lat': -3.234,
'long': '54.234',
'date': '03-12-1996'
}
感谢您的帮助。
答案 0 :(得分:0)
假设geodata.items()返回一个列表,如果list包含" dict"则json.dump()将起作用。数据类型。 您可以使用以下方式查看:
type(geodata.items()[0])
如果列表具有非dict数据类型,则需要检查函数。