假设a和b是要合并的字典:
c = {key: value for (key, value) in (a.items() + b.items())}要将字符串转换为python字典,请使用以下命令:
import jsonmy_dict = json.loads(json_str)
更新:使用 字符串的 完整代码:
# test cases for jsonStringA and jsonStringB according to your data inputjsonStringA = '{"error_1395946244342":"valueA","error_1395952003":"valueB"}'jsonStringB = '{"error_%d":"Error Occured on machine %s in datacenter %s on the %s of process %s"}' % (timestamp_number, host_info, local_dc, step, c)# now we have two json STRINGSimport jsondictA = json.loads(jsonStringA)dictB = json.loads(jsonStringB)merged_dict = {key: value for (key, value) in (dictA.items() + dictB.items())}# string dump of the merged dictjsonString_merged = json.dumps(merged_dict)但是我不得不说,总的来说,您尝试做的并不是最佳实践。请阅读有关python词典的内容。
替代解决方案:
jsonStringA = get_my_value_as_string_from_somewhere()errors_dict = json.loads(jsonStringA)new_error_str = "Error Ocurred in datacenter %s blah for step %s blah" % (datacenter, step)new_error_key = "error_%d" % (timestamp_number)errors_dict[new_error_key] = new_error_str# and if I want to export it somewhere I use the followingwrite_my_dict_to_a_file_as_string(json.dumps(errors_dict))
实际上,如果仅使用数组来保存所有错误,则可以避免所有这些情况。



