Javascript :: JSON解析不接受换行符?

Hez*_*ina 3 javascript arrays json replace object

我写了一个示例代码,只是为了解释我之后的情况......

这是一个工作示例:

var json='{"hezi":"firstName","gangina":"lastName"}',
    obj=JSON.parse(json);

alert(obj.gangina);
Run Code Online (Sandbox Code Playgroud)

这里有与换行符和制表符完全相同的代码(只是为了使代码更具可读性,因为在我的实际代码中JSON数组字符串是巨大的):

var json=
'
    {
        "hezi":"firstName",
        "gangina":"lastName"
    }
',
    obj=JSON.parse(json);

alert(obj.gangina);
Run Code Online (Sandbox Code Playgroud)

我甚至试图补偿:

    obj=JSON.parse(json.replace(/(\r\n|\n|\r|\t)/gm,""));
Run Code Online (Sandbox Code Playgroud)

所以...技术上我可以通过压缩我的线来解决这个问题(\r\n|\n|\r|\t手动删除所有)但我很确定有一个快速解决方案,无论美化我的代码.

这里需要小的调整......

jeh*_*na1 6

JavaScript不接受换行而不转义.您可以通过转义换行符来解决此问题:

var json=
'\
    {\
        "hezi":"firstName",\
        "gangina":"lastName"\
    }\
',
obj=JSON.parse(json);

alert(obj.gangina);
Run Code Online (Sandbox Code Playgroud)


Lew*_*wis 2

Chrome 41+ 和 Firefox 34+ 现在支持ES6模板字符串。是时候了解一下了。

JSON.parse(`
   {
        "hezi":"firstName",
        "gangina":"lastName"
    }
`);
Run Code Online (Sandbox Code Playgroud)