我怎样才能用'替换替换\"
How can I replace replace \" with '
我有以下内容:
{
"z":"[{\"ItemId\":\"1234\",\"a\":\"1234\",\"b\":\"4567\",\"c\":\"d\"}]"
}
这是我从某个 API 那里得到的 json 回复的一部分。我需要用 '
替换 \"
。不幸的是,这就是我卡住的地方!
我得到的大部分答案只是简单地将 \
替换为 ""
或 " "
,这对我没有帮助。所以我的问题如下:
如何将 \"
替换为 '
:
- 在我复制粘贴内容的文件中?
- 如果我收到此消息是对某个 API 电话的回应?
我尝试了以下方法来替换文件中的内容,但我显然只是将 "
替换为 '
:
with open(file, "r") as f:
content = f.read()
new_content = content.replace("\"", "'")
with open(file, "w") as new_file:
new_file.write(new_content)
使用 json
模块,您可以转储数据然后使用以下方法加载它:
import json
data = {
"z": "[{\"ItemId\":\"1234\",\"a\":\"1234\",\"b\":\"4567\",\"c\":\"d\"}]"
}
g = json.dumps(data)
c = json.loads(data)
print(c)
print(str(c).replace("\"","'"))
输出:
{'z': '[{"ItemId":"1234","a":"1234","b":"4567","c":"d"}]'}
{'z': '[{'ItemId':'1234','a':'1234','b':'4567','c':'d'}]'}
如果您要做的是将每个值从 JSON 字符串转换为 Python repr() 字符串,同时保持包装格式为 JSON,那么可能看起来像:
with open(filename, "r") as old_file:
old_content = json.load(old_file)
new_content = {k: repr(json.loads(v)) for k, v in old_content.items()}
with open(filename, "w") as new_file:
json.dump(new_content, new_file)
如果您的旧文件包含:
{"z":"[{\"ItemId\":\"1234\",\"a\":\"1234\",\"b\":\"4567\",\"c\":\"d\"}]"}
...新文件将包含:
{"z": "[{'ItemId': '1234', 'a': '1234', 'b': '4567', 'c': 'd'}]"}
请注意,在这个新文件中,内部字段现在采用 Python 格式,而不是 JSON 格式; JSON 解析器无法再解析它们。通常,我会建议做一些不同的事情,如:
with open(filename, "r") as old_file:
old_content = json.load(old_file)
new_content = {k: json.loads(v) for k, v in old_content.items()}
with open(filename, "w") as new_file:
json.dump(new_content, new_file)
...这将产生一个输出文件:
{"z": [{"ItemId": "1234", "a": "1234", "b": "4567", "c": "d"}]}
...既 easy-to-read 又易于使用标准 JSON-centric 工具(jq
等)处理。
我有以下内容:
{
"z":"[{\"ItemId\":\"1234\",\"a\":\"1234\",\"b\":\"4567\",\"c\":\"d\"}]"
}
这是我从某个 API 那里得到的 json 回复的一部分。我需要用 '
替换 \"
。不幸的是,这就是我卡住的地方!
我得到的大部分答案只是简单地将 \
替换为 ""
或 " "
,这对我没有帮助。所以我的问题如下:
如何将 \"
替换为 '
:
- 在我复制粘贴内容的文件中?
- 如果我收到此消息是对某个 API 电话的回应?
我尝试了以下方法来替换文件中的内容,但我显然只是将 "
替换为 '
:
with open(file, "r") as f:
content = f.read()
new_content = content.replace("\"", "'")
with open(file, "w") as new_file:
new_file.write(new_content)
使用 json
模块,您可以转储数据然后使用以下方法加载它:
import json
data = {
"z": "[{\"ItemId\":\"1234\",\"a\":\"1234\",\"b\":\"4567\",\"c\":\"d\"}]"
}
g = json.dumps(data)
c = json.loads(data)
print(c)
print(str(c).replace("\"","'"))
输出:
{'z': '[{"ItemId":"1234","a":"1234","b":"4567","c":"d"}]'}
{'z': '[{'ItemId':'1234','a':'1234','b':'4567','c':'d'}]'}
如果您要做的是将每个值从 JSON 字符串转换为 Python repr() 字符串,同时保持包装格式为 JSON,那么可能看起来像:
with open(filename, "r") as old_file:
old_content = json.load(old_file)
new_content = {k: repr(json.loads(v)) for k, v in old_content.items()}
with open(filename, "w") as new_file:
json.dump(new_content, new_file)
如果您的旧文件包含:
{"z":"[{\"ItemId\":\"1234\",\"a\":\"1234\",\"b\":\"4567\",\"c\":\"d\"}]"}
...新文件将包含:
{"z": "[{'ItemId': '1234', 'a': '1234', 'b': '4567', 'c': 'd'}]"}
请注意,在这个新文件中,内部字段现在采用 Python 格式,而不是 JSON 格式; JSON 解析器无法再解析它们。通常,我会建议做一些不同的事情,如:
with open(filename, "r") as old_file:
old_content = json.load(old_file)
new_content = {k: json.loads(v) for k, v in old_content.items()}
with open(filename, "w") as new_file:
json.dump(new_content, new_file)
...这将产生一个输出文件:
{"z": [{"ItemId": "1234", "a": "1234", "b": "4567", "c": "d"}]}
...既 easy-to-read 又易于使用标准 JSON-centric 工具(jq
等)处理。