如何在JSON.stringfy之后删除\ n?

时间:2017-09-01 07:18:35

标签: javascript

我从网站解析数据并尝试更改为json对象。

这是我的功能:

function outPutJSON() {

        for (var i = 0; i < movieTitle.length; i++) {

            var handleN = movieContent[i];
            console.log('===\n');
            console.log(handleN);

            data.movie.push({
                mpvieTitle: movieTitle[i],
                movieEnTitle: movieEnTitle[i],
                theDate: theDate[i],
                theLength: theLength[i],
                movieVersion: movieVersion[i],
                youtubeId: twoId[i],
                content: movieContent[i]
            });
        };

        return JSON.stringify(data);
    }

console.log将打印movieContent [0],如:

enter image description here

但我返回JSON.stringfy(data); 它会变成: enter image description here

有很多/我想删除它。

我尝试将返回JSON.stringfy(data);更改为:

var allMovieData = JSON.stringify(data);
allMovieData = allMovieData.replace(/\n/g, '');
return allMovieData;

它不起作用,结果是一样的。

当我使用JSON.stringfy()时如何删除/ n?

任何帮助将不胜感激。提前谢谢。

3 个答案:

答案 0 :(得分:2)

在您的数据屏幕截图中,您实际上参见 "\n"

这可能意味着实际字符串不包含换行符(\n),而是转义的换行符(\\n)。

换行符会被渲染为换行符。你不会看到\n

要删除这些内容,请使用.replace(/\\n/g, '')代替.replace(/\n/g, '')

答案 1 :(得分:2)

只是:=> JSON.stringify(JSON.parse(<json object>))

答案 2 :(得分:1)

JSON.stringify将新行(\n)和制表符(\t)字符转换为字符串,因此,当您尝试解析字符串时,该字符串将再次包含这些字符串。

所以,你需要搜索字符串\n,你可以用这样的东西来做。

const stringWithNewLine = {
  x: `this will conatin 
new lines`
};

const json = JSON.stringify(stringWithNewLine);

console.log(json.replace(/\\n/g, ''))