去掉Python中的转义字符,以便将数据转换为JSON数据

去掉Python中的转义字符,以便将数据转换为JSON数据,python,json,python-requests,backslash,html-escape-characters,Python,Json,Python Requests,Backslash,Html Escape Characters,我通过git日志从cmd终端获取一些数据,并将这些数据传输到JSON文件中。我从该JSON文件中解析出所需的数据,并打算将该数据放入新的JSON类型数据中,以便在requests.put()方法中使用该数据来更新网页。 因此,该数据是一个字符串,在我从git日志创建的初始JSON文件中解析出来后,如下所示: This is the \\\'data\\\' This is the \\\'data\\\' This is the \\\\\\\'data\\\\\\\' 因此,从JSON文件

我通过git日志从cmd终端获取一些数据,并将这些数据传输到JSON文件中。我从该JSON文件中解析出所需的数据,并打算将该数据放入新的JSON类型数据中,以便在requests.put()方法中使用该数据来更新网页。 因此,该数据是一个字符串,在我从git日志创建的初始JSON文件中解析出来后,如下所示:

This is the \\\'data\\\'
This is the \\\'data\\\'
This is the \\\\\\\'data\\\\\\\'
因此,从JSON文件中,我将该数据字符串放入一个名为“data”的变量中,因此上面的字符串位于变量data中。 当我实际打开该JSON文件时,数据看起来正常,如转义反斜杠中所示,现在可以看到,如下所示:

This is the 'data'
因此,在我的代码中,我尝试打印数据和数据的可打印表示,如

print(data)
print(repr(data))
我可以在终端上看到打印的数据如下:

This is the \\\'data\\\'
This is the \\\'data\\\'
This is the \\\\\\\'data\\\\\\\'
稍后,我将尝试将该数据插入一个新的JSON结构,并执行JSON.loads(JSON_struc),其中显示一个错误:

ValueError: Invalid \escape: line 1  column 21605 (char 21604)
我尝试使用string.replace()方法替换转义字符,但它不起作用,因为该方法无法检测“\”。当我尝试在一个新的python文件中进行这个实验时,我将数据放入一个变量并使用string.replace()来实现,但当从初始JSON解析出值时,它就不起作用了。例如,这样做很好:

strin = "This is the \\\'data\\\'"

if "\\\'" in strin:
    print("Replacing character")
    print(strin.replace("\\\'", "'"))
我试图用“因为这些数据是要发布在网页上的html数据的一部分,所以某些字符在html中具有特殊意义,如果要保留它们的含义,就应该用html实体来表示。”

这就是我在脚本中尝试的,但没有成功:

#data contains "This is the \\\'data\\\'"
if "\\\'" in data:
  data_string = data.replace("\\\'", "'")
问题是,这个if语句实际上从未在我的脚本中执行过,因为编译器认为这个语句是错误的。但它应该被执行,因为数据中有“\”。
我应该做什么样的更改才能使json.loads()工作?需要以某种方式忽略转义反斜杠。

不确定您是否已经尝试过,这一点。您可以使用json.dumps(创建一个字符串),然后执行加载

strin = "This is the \\\'data\\\'"
j_string=json.dumps(strin)
print(j_string) # "This is the \\'data\\'"
print(json.loads(j_string)) # "This is the \\'data\\'"
或者你可以试着像下面这样,它也会起作用

strin = r"This is the \\\'data\\\'"