我从网站解析数据并尝试更改为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],如:
但我返回JSON.stringfy(data); 它会变成:
有很多/我想删除它。
我尝试将返回JSON.stringfy(data);
更改为:
var allMovieData = JSON.stringify(data);
allMovieData = allMovieData.replace(/\n/g, '');
return allMovieData;
它不起作用,结果是一样的。
当我使用JSON.stringfy()
时如何删除/ n?
任何帮助将不胜感激。提前谢谢。
答案 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, ''))