Как преобразовать символы типа \x22 в строку?

У меня есть строка, которая выглядит так:

"{\\x22username\\x22:\\x229\\x22,\\x22password\\x22:\\x226\\x22,\\x22id\\x22:\\x222c8bfa56-f5d9\\x22, \\x22FName\\x22:\\x22AnkQcAJyrqpg\\x22}"

насколько я понимаю \x22 есть ". Итак, как я мог преобразовать это в читаемый JSON с кавычками вокруг ключей и значений?

Ответ 1

Декодировать от string_escape:

>>> import json
>>> value = "{\\x22username\\x22:\\x229\\x22,\\x22password\\x22:\\x226\\x22,\\x22id\\x22:\\x222c8bfa56-f5d9\\x22, \\x22FName\\x22:\\x22AnkQcAJyrqpg\\x22}"
>>> value.decode('string_escape')
'{"username":"9","password":"6","id":"2c8bfa56-f5d9", "FName":"AnkQcAJyrqpg"}'
>>> json.loads(value.decode('string_escape'))
{u'username': u'9', u'password': u'6', u'id': u'2c8bfa56-f5d9', u'FName': u'AnkQcAJyrqpg'}

Ответ 2

Для строки Unicode под Python3 я нашел это:

value.encode('utf8').decode('unicode_escape')

fooobar.com/questions/83637/...

Ответ 3

Я знаю, что этот вопрос был помечен как вопрос python, но если бы кто-нибудь искал инструмент, который мог бы кодировать такую ​​строку онлайн:

http://ddecode.com/hexdecoder