Я хочу использовать Python для обновления данных JSON.JSON Сохранение дубликатов информации
import json
with open('./gui-config.json','r+') as f:
js=json.load(f)
js['configs'][0]['password']='123'
f.seek(0)
json.dump(js,f)
Это мой тест JSON с именем "гуй-config.json":
{
"configs" : [
{
"server" : "US.SSSERVER.PW",
"server_port" : 8989,
"password" : "73221446",
"method" : "aes-256-cfb",
"remarks" : ""}
],
"index" : 0,
"global" : false,
"enabled" : true,
"shareOverLan" : false,
"isDefault" : false,
"localPort" : 1080}
Конец перспективе, "гуй-config.json" является:
{
"localPort": 1080,
"isDefault": false,
"configs": [
{
"server_port": 8989,
"method": "aes-256-cfb",
"remarks": "",
"password": "123",
"server": "US.SSSERVER.PW"
}
],
"global": false,
"enabled": true,
"index": 0,
"shareOverLan": false
}
sDefault": false,
"localPort" : 1080
}
"sDefault" : false, "localPort" : 1080}
это повторная информация. Почему это произошло? Могу ли я закончить эту операцию за один раз?
Почему бы не закрыть файл и открыть его снова, чтобы написать? Ищет 0 и демпинг, я не думаю, что «весь» файл перезаписан. Он начнет писать только с этой позиции, но как только содержимое в переменной js закончится, остальная часть файла останется такой, какая есть. – rajatkhanduja
«Python сохраняет данные JSON неправильно». Ваша отладка станет намного лучше, когда вы начнете искать нормальные проблемы, а не сразу обвиняете язык и платформу, которую используете. Вы честно думаете, что стабильная версия Python полностью нарушит поддержку JSON, и никто из нас не заметил бы, и разработчики не исправили бы это? –