def unescape_json_str(st):
c = <NUM_LIT:0><EOL>ln = len(st)<EOL>escape_chmap = {<EOL>b'<STR_LIT:b>': b'<STR_LIT>',<EOL>b'<STR_LIT:f>': b'<STR_LIT>',<EOL>b'<STR_LIT:n>': b'<STR_LIT:\n>',<EOL>b'<STR_LIT:r>': b'<STR_LIT:\r>',<EOL>b'<STR_LIT:t>': b'<STR_LIT:\t>',<EOL>b'<STR_LIT:\\>': b'<STR_LIT:\\>',<EOL>b'<STR_LIT:">': b'<STR_LIT>',<EOL>b'<STR_LIT:/>': b'<STR_LIT>'<EOL>}<EOL>ret = []<EOL>def at(i):<EOL><INDENT>return st[i:i+<NUM_LIT:1>]<EOL><DEDENT>while c < ln:<EOL><INDENT>if at(c) == b'<STR_LIT:\\>':<EOL><INDENT>if at(c+<NUM_LIT:1>) == b'<STR_LIT:u>':<EOL><INDENT>ret.append(bytes([int(st[c+<NUM_LIT:2>:c+<NUM_LIT:6>], <NUM_LIT:16>)]))<EOL>c += <NUM_LIT:6><EOL><DEDENT>else:<EOL><INDENT>ret.append(escape_chmap[at(c+<NUM_LIT:1>)])<EOL>c += <NUM_LIT:2><EOL><DEDENT><DEDENT>else:<EOL><INDENT>ret.append(at(c))<EOL>c += <NUM_LIT:1><EOL><DEDENT><DEDENT>df = (b'<STR_LIT>'.join(ret))<EOL>return df<EOL>
Unescape Monero json encoded string
/monero/external/rapidjson/reader.h

:param st:
:return: