我正在尝试按以下格式创建和添加元素
{{"source1": { "destination11": ["datetime1", "datetime2", ....]}
{ "destination12": ["datetime3", "datetime4",....]}
........................................
}
{"source2": { "destination21": ["datetime5", "datetime6", ....]}
{ "destination22": ["datetime7", "datetime8",....]}
.......................................
}
.........................................}
所有键和值都是我从其他模块获得的变量。 我创建了一个空字典 call_record = [{}] 要添加“source1”,“source2”作为我尝试的键,
call_record.append({source1 :})
现在我无法为此键添加值,因为我将在下一行中添加它,因此我需要创建具有空值的此键,然后在从下一个模块中获取值时添加值。但是,此行不会创建具有空值的键。
此外,要添加“destination11”,“destination12”,我试过,
call_record[i].append(destination11)
但是,这不会将目的地添加为源密钥的值。
在添加目的地后,我必须添加日期时间。然后我必须将这个字典转储到json文件中。
答案 0 :(得分:1)
.append
用于向数组添加元素。
将元素添加到字典的正确sintax是your_dictionary[key] = value
在您的情况下,您可以将参数传递到字典,如下所示:
import json
call_record = {} # To create an empty dictionary
call_record["source1"] = {} # To append an empty dictionary to the key "source1"
call_record["source1"]["destination11"] = [] # An empty array as value for "destination11"
call_record["source1"]["destination11"].append("datetime1", "datetime2") # To append element datetime1 and datetime2 to destination11 array
call_record_json = json.dumps(call_record, ensure_ascii=False)
但我建议您查看python文档以澄清python中的 data structure 。
您还可以参考文档的 JSON encoder and decoder 部分,了解有关如何使用它的更多示例。