JSON文件的更正。

huangapple go评论78阅读模式
英文:

Correction of the json file

问题

面对一个有趣的问题,在一个 JSON 文件中,替换所有的 "used" 为 "with",是否有办法使用 Python 进行替换,或者只能手动使用控制查找替换 (Control F)?

尝试使用以下代码,但未成功:

import json

with open('first_task.json', 'r') as f:
    data = json.load(f)

json_str = json.dumps(data).replace('"used"', '"with"')

with open('first_task.json', 'w') as f:
    f.write(json_str)

希望这有所帮助。

英文:

Faced with an interesting problem, there is a json file in which, instead of, 'used ', is there any way to replace all 'with ' using Python or just do it manually using control F?

Пытался использовать следующий код, но он не сработал:

import json

with open('first_task.json', 'r') as f:
    data = json.load(f)

json_str = json.dumps(data).replace("'", '"')

with open('first_task.json', 'w') as f:
    f.write(json_str)

答案1

得分: 1

如前所述,评论者建议在转换为JSON对象之前需要准备数据。
如果您想修复JSON文件,可以使用以下方法:
```python
import json

# 修复JSON文件
with open('first_task.json', 'r') as f:
    raw_data = f.read()  # 读取文件为字符串
    json_str = raw_data.replace("'", "\\\"")  # 修复的JSON字符串

data_json = json.loads(json_str)  # JSON对象

with open('first_task_fixed.json', 'w') as f:
    json.dump(data_json, f)  # 保存修复后的JSON文件

示例:

{
    'data': {
        'val_1': true,
        'val_2': false
    }
}

示例输出:

{"data": {"val_1": true, "val_2": false}}
英文:

As said before by the commentators of question, you need to prepare data before convert to json object.
If you want to fix json file there is way you can do it.

import json

# Fix json file
with open('first_task.json', 'r') as f:
    raw_data = f.read()  # READING FILE TO STRING
    json_str = raw_data.replace("'", "\"")  # FIXED JSON STRING

data_json = json.loads(json_str)  # JSON OBJECT

with open('first_task_fixed.json', 'w') as f:
    json.dump(data_json, f)  # SAVING FIXED JSON FILE

Example:

{
	'data': {
		'val_1': true,
		'val_2': false
	}
}

Example output:

{"data": {"val_1": true, "val_2": false}}

huangapple
  • 本文由 发表于 2023年6月2日 09:31:57
  • 转载请务必保留本文链接:https://go.coder-hub.com/76386628.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定