Убрать лишние знаки экранирования
Моя программа занимается парсингом сайта, в коде html находится json словарь, у которого кавычки (") экранированы, я не могу их удалить через replace, если взять этот json, вставить в python:
> string='{\"Id\":1,\"Name\":\"Организация \\\"ООО Спорт Плюс\\\".\"}'
то python автоматически их уберет и ничего делать не надо
> {"Id":1,"Name":"Организация \"ООО Спорт Плюс\"."}
, но если эта строка парсится, то python автоматически экранирует еще раз уже сами слэш слэш, .replace('','') и подобные не удаляет их, а в итоге мне надо из строки получить json,а именно json.loads(string). Вот исходная строка:
{\"Id\":1,\"Name\":\"Организация \\\"ООО Спорт Плюс\\\".\"}
Ответы (1 шт):
Автор решения: Михаил Муругов
→ Ссылка
import ast # Модуль для парсинга литералов в python объекты
import json
json_string = ast.literal_eval( # Спарсить строку как литерал
f"'{string}'" # Внутренние кавычки, чтобы литерал воспринялся как строка
)
target_json = json.loads(json_string) # Восстанавливаем json-объект из строки