Как корректно подать данные в json-файл?

Рейтинг: 0Ответов: 0Опубликовано: 25.04.2023

Код:

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": " ТЕКСТ ###"}

Ответы

Ответов пока нет.