Сохранение модифицированного json в файл

Есть файл вида:

{"andrey": {"Secret": "124f2f2asdfsdfqwe23sdg", "uid": "31124235535"}}
{"anton: {"Secret": "124f422342f2asdfsdfqwe23sdg", "uid": " "}}

Где uid - переменная.

with open('project/users.txt', 'r+') as data_file:      
  for line in data_file:
    for k, v in json.loads(line).items():
      if v['Secret'] in Token:
        Name = (k[:])
        text = json.load(line)
        text(k[:]['uid'] = str(username)

Т.к это не json а два json в одном файле, я открываю их построчно, представляя каждую строку как json. Теперь вопрос как в таком цикле сохранить модифицированный файл?


Ответы (1 шт):

Автор решения: MaxU

Попробуйте так:

import json
import dpath.util as du   # pip install dpath


with open(fn) as fin, open(r"c:\temp\result.json", "w") as fout:
    for line in fin:
        d = json.loads(line)
        secret = du.values(d, "/*/Secret")[0]
        if secret in Token:
            du.set(d, "/*/uid", str(username))
            print(json.dumps(d), file=fout)
→ Ссылка