如何使用Python打印JSON属性的换行符?

时间:2016-09-09 15:03:18

标签: python json

我有以下情况:

  • 我有以下JSON文件:

    {
       "name":"whatever",
       "lyric":"here comes the music
          another line
          whatever...
          bla bla bla
          final"
    }
    
  • 下一步是加载JSON文件并将属性"name"更改为"songs real name"

  • 最后一步是将JSON写入输出文件,保持相同的输入格式(以便更容易地读取JSON),但它确实打印了break作为转义字符的行,如:

     {
        "name":"songs real name",    "lyric":"here comes the music  \n
         another line \n
         whatever... \n
         bla bla bla \n
         final"
    }
    

期望的输出:

{
   "name":"songs real name",
   "lyric":"here comes the music
      another line
      whatever...
      bla bla bla
      final"
}

这是python代码:

with open(file, "r") as data_file:    
    json_data=data_file.read()
data_file.close()
json_data["name"]="song's real name"

with open(outputfile)
    jsonFile.write(json.dumps(data,indent=4, sort_keys=True)

一切正常,但不打印断线。

1 个答案:

答案 0 :(得分:0)

我得到了答案,基本上我所做的是替换json.dumps:

with open(file, "r") as data_file:    
json_data=data_file.read()
data_file.close()
json_data["name"]="song's real name"

with open(outputfile)
    jsonFile.write(json.dumps(data,indent=4, sort_keys=True, separators=(',', ': ')).replace('\\n','\n'))

之后,我按照自己的意愿得到了输出文件:

  

{
  “名字”:“歌曲真实姓名”,
  “抒情”:“这里有音乐   另一条线   无论如何......   bla bla bla
  最后的“
  }

谢谢你们。