Python中的方法/库,类似于C中的NewtonSoft#

Python中的方法/库,类似于C中的NewtonSoft#,python,c#,json,Python,C#,Json,我试图在Python中做一些类似的事情,比如NewtonSoft在C#中所做的事情 我有以下JSON文件: { "lead": { "Id": "abc", "CreateDate": "2020-16-04T17:55:47.229554", "Source": "Source" }, "cars": [ { "Id": 1, "Year": "1951",

我试图在Python中做一些类似的事情,比如
NewtonSoft
C#
中所做的事情

我有以下JSON文件:

{
    "lead": {
        "Id": "abc",
        "CreateDate": "2020-16-04T17:55:47.229554",
        "Source": "Source"
    },
    "cars": [
        {
            "Id": 1,
            "Year": "1951",
            "Make": "Willys"
        },
        {
            "Id": 2,
            "Year": "1950"
        }
    ],
    "Client": {
        "LeadId": "ca5326c1fa14475ea6e8106c8c4a3d9d",
        "FirstName": "Christopher",
        "LastName": "Murphy"
    }
}
如果我序列化JSON并在
C#
中使用
NewtonSoft
,则会得到以下结果:

"{\"lead\":{\"Id\":\"abc\",\"CreateDate\":\"2020-16-04T17:55:47.229554\",\"Source\":\"Source\"},\"cars\":[{\"Id\":1,\"Year\":\"1951\",\"Make\":\"Willys\"},{\"Id\":2,\"Year\":\"1950\"}],\"Client\":{\"LeadId\":\"ca5326c1fa14475ea6e8106c8c4a3d9d\",\"FirstName\":\"Christopher\",\"LastName\":\"Murphy\"}}"

但是
dump
dumps
方法在Python中给出了其他结果,是否有其他方法在Python中实现相同的结果?

对不起,误解了这个问题。您需要的是用replace或其他方法转义序列化的字符串


此外,对象的实际值与您在使用调试工具或IDE时看到的值之间可能存在一些差异。

只要没有我不知道的奇怪边缘情况,您可以这样做

def serialize(json_fname):
  with open(json_fname, 'r') as f:
    json_lines=f.readlines()

  out=''
  for line in json_lines:
    out+=line
  out=out.replace(' ','')
  return out.replace('\n','')

serialized=serialize('myjson.json')

#  Later in the program:
#    do(serialized)

Python的输出有什么不同?有人问了一些类似的问题,但是dump和dumps方法在Python中给出了其他结果-那么请您的问题包括不起作用的代码-例如,a.你好,欢迎使用SO!你为什么需要这种格式?如果你100%希望它完全像那样,你可以写1-20行代码,使之成为那样;类似于将open(json_fname,'r')作为f:json_lines=f.readlines()的
;out='';对于line-in-lines:out+=line
非常感谢这一帮助,但我的意思是当在C中使用NewtonSoft时,它会自动插入反斜杠“\”。例如“{\“lead\”:{\“Id\”:“abc\”,你知道Python中有类似的东西吗?实际上,在将这部分插入代码并将dump方法添加为文件后,我得到了想要的结果。非常感谢!