如何将字符串保存到json文件

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (90)

我想将一个字符串保存到一个json文件,但是当我这样做时,它会\"在开头和结尾处用引号和引号来编写它。

import json

name_c = ['Don', 'Perez']

my_details = "data = {" + "\"name\": " + name_c[0] + ", \"lastname\": " + name_c[1] + "}"

print(my_details)

with open('personal.json', 'w') as outfile:
    json.dump(my_details, outfile)

我想在json文件中使用这种文本:

data = {"name": Don, "lastname": Perez}

我在json文件中得到了这种文本

"data = {\"name\": Don, \"lastname\": Perez}"
提问于
用户回答回答于

为什么不在文件中写字符串?

name_c = ['Don', 'Perez']
with open("out.txt", "w+") as f:
    f.write("data = {{\"name\": {}, \"lastname\": {}}}".format(*name_c))

如果你想使用json,那么就像这样:

name_c = ['Don', 'Perez']
with open("out.txt", "w+") as f:
    f.write("data = ")
    json.dump({"name": name_c[0], "lastname": name_c[1]}, f)

或这个:

name_c = ['Don', 'Perez']
with open("out.txt", "w+") as f:
    f.write("data = " + json.dumps({"name": name_c[0], "lastname": name_c[1]}))
用户回答回答于

它正在添加引号,因为您正在转储字符串; 无论字符串代表什么,都可以完成此操作。如果要转储对象,则必须为其提供转储对象。

扫码关注云+社区

领取腾讯云代金券