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

标签 javascript arrays json object replace

我写了一个示例代码只是为了解释我所追求的......

这是一个工作示例:

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

alert(obj.gangina);

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

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

alert(obj.gangina);

我什至试图弥补:

    obj=JSON.parse(json.replace(/(\r\n|\n|\r|\t)/gm,""));

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

这里需要做一些小调整......

最佳答案

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

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

alert(obj.gangina);

关于Javascript::JSON 解析不接受换行符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29717590/

相关文章:

javascript - 通过 mapsOrder 数组确定下一张 map

javascript - jquery ajax错误函数未正确执行

javascript - Facebook - 你需要一个 Facebook 应用程序/appid 来调用 FB.ui(stream.publish) 吗?

javascript - Wordpress - 我可以通过 url 访问正常的 php 文件,但没有上传的文件

php - 如何将多个图像 url 上传到数据库并将文件移动到文件夹

javascript - 三.js对象转数组

java - 如何在没有 lambda 表达式的情况下使用 JSONObject.computeIfAbsent

java - 如何验证 Json 属性(键)名称?

php - HTML5 block 文件进度条

javascript - react .JS : Detect if keyboard input is from a barcode scanner