给定输入:
{"fruit": "apple"}
我需要生成输出:
{"Message":{\"fruit\": \"apple\"}}
下面是我的示例代码:
>>> import json >>> >>> input={} >>> input["fruit"]="apple" >>> print(json.dumps(input)) {"fruit": "apple"} >>> print(json.dumps(json.dumps(input))) "{\"fruit\": \"apple\"}" # this looks right >>> >>> output={} >>> output["Message"]=json.dumps(json.dumps(input)) >>> print(output) {'Message': '"{\\"fruit\\": \\"apple\\"}"'} # unexpected
我的希望是印刷品的产量加倍json.dumps文件将输出的消息字段设置为,但它添加了额外的转义。
所以我尝试了这个:
>>> output["Message"]=json.dumps(input) >>> print(output) {'Message': '{"fruit": "apple"}'}
import json d = { "Message": json.dumps( {"fruit": "apple"} ) } print(json.dumps(d))
输出:
{"Message": "{\"fruit\": \"apple\"}"}
{"Message":{\"fruit\": \"apple\"}} 因为这不是有效的JSON。
顺便说一下,您不会“将JSON转换为字符串”,因为根据定义,JSON已经是字符串了。