Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to convert characters like \x22 into a string?

I have a string that looks like this:

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

as far as I understand \x22 is ". So how could I convert this into a readable JSON with quotes around keys and values?

like image 727
Vor Avatar asked Aug 13 '13 21:08

Vor


3 Answers

Decode from 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'}
like image 53
Martijn Pieters Avatar answered Sep 18 '22 18:09

Martijn Pieters


For a Unicode string under Python3, I found this:

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

https://stackoverflow.com/a/14820462/450917

like image 41
Gringo Suave Avatar answered Sep 18 '22 18:09

Gringo Suave


I know this question was tagged as a python question, but if anyone would be looking for a tool that could encode such string online:

http://ddecode.com/hexdecoder

like image 20
John Linhart Avatar answered Sep 22 '22 18:09

John Linhart