需要为JSON.parse转义哪些字符

时间:2013-07-10 06:16:33

标签: javascript python json parsing escaping

我注意到你无法在json中保存1B(转义)JSON.parse函数你将获得SyntaxError: Unexpected token(在谷歌浏览器中)你需要将它写成unicde {{1} }。我在Python中有json_serialize函数wiritten我需要逃避字符串中的其他字符吗?这是我的python函数

\u001b

1 个答案:

答案 0 :(得分:2)

我发现我需要转义所有控制字符<这是我的逃生功能:

def escape(str):
    str = str.replace('\\', '\\\\').replace('"', '\\"').replace('\n', '\\n').
        replace('\t', '\\t')
    result = []
    for ch in str:
        n = ord(ch)
        if n < 32:
            h = hex(n).replace('0x', '')
            result += ['\\u%s%s' % ('0'*(4-len(h)), h)]
        else:
            result += [ch]
    return ''.join(result)