我试图合并两个json文件,但在输出中有一些奇怪的“\”
import json
data1 = {'apple': 'good',"mango": "excellent"}
json_data1 = json.dumps(data1)
data2 = {'mustang': 'good',"camaro": "excellent"}
json_data2 = json.dumps(data2)
final_data = { 'fruit' : str(json_data1), 'car' : str(json_data2) }
json_final = json.dumps(final_data)
print(json_final)
期望值:
{"fruit": "{"apple": "good", "mango": "excellent"}", "car": "{"camaro": "excellent", "mustang": "good"}"}
我得到的是:
{"fruit": "{\"apple\": \"good\", \"mango\": \"excellent\"}", "car": "{\"camaro\": \"excellent\", \"mustang\": \"good\"}"}
如何克服这个问题
另外,在我的实际问题中,我只得到了两个JSON对象,我无法控制其他任何东西
如果您的数据是本机Python结构
不要单独对包含的内容进行字符串化或JSON编码。将您的内容保持为纯本机数据结构,并且只编码为JSON一次
否则,当您运行第一个
json.dumps()
传递时,您将生成一个字符串,当您在包含该字符串的数据结构中调用json.dumps()
时,您将生成一个对字符串进行编码的JSON序列,而不是一个对创建该字符串所表示的原始字典进行编码的JSON数据结构如果您的输入已经是JSON编码的…
安全的方法是在重新编码之前解码成本地结构。即:
不安全的方法是使用字符串串联:
相关问题 更多 >
编程相关推荐