Как корректно подать данные в json-файл?
Код:
question = str(question) + ' ->'
answer = str(answer) + ' ###'
lines = json.dumps({'prompt:Q': question,'completion': answer}, ensure_ascii=False)
Что получаю:
"{\"prompt:Q\": \"Hi ->\", \"completion\": \"Ola ###\"}"
Что хочу получить:
{"prompt":"Q: Hi ->","completion":" Ola ###"}
Мне нужно избавиться от кавычек перед и после фигурных скобок + от бэкслеша \
Весь код write_json.py
import json
import os
from pathlib import Path
# Название файла
json_filename = 'dataset.json'
# Указываем ту же директорию, откуда запускается скрипт
path = str(Path(__file__).with_name(json_filename))
if not os.path.isfile(path):
with open(path, "w+") as f:
f.write('start\n')
# Функция записи сообщений в json файл.
def write_messages(question, answer):
lines = json.dump({'prompt:Q': question,'completion': answer}, ensure_ascii=False) # Подготавливаем строку json
# Записываем новую строку в файл
with open(path, 'a', encoding="utf-8") as f:
json.dump(lines, f, ensure_ascii=False, indent=2)
f.write("\n")
В json поступает следующая информация:
{
"prompt": "Q: ТЕКСТ ->",
"completion": " ТЕКСТ ###"
}
А хотелось бы получить:
{"prompt": "Q: ТЕКСТ ->","completion": " ТЕКСТ ###"}
Источник: Stack Overflow на русском