Как преобразовать символы типа \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