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