在使用Javascript在web浏览器中打印JSON时,如何删除行与行之间的换行符?
在Javascript中,我必须在文档中打印一个JSON,其中包含MySQL数据库中的一些数据,我想删除中断行,但我无法实现 我通过node.js获取数据,并使用express.js在web浏览器上打印数据。 结果是: 正如您所看到的,两行之间都有一条折线,我想删除它,因为当我尝试在我正在构建的android应用程序上读取JSON时,它会导致问题 我曾尝试在互联网上搜索如何实现它,大多数答案都是关于使用str.replace(/\r?\n |\r/g'),但在我的情况下它不起作用 这是我目前拥有的JS代码:在使用Javascript在web浏览器中打印JSON时,如何删除行与行之间的换行符?,javascript,node.js,express,Javascript,Node.js,Express,在Javascript中,我必须在文档中打印一个JSON,其中包含MySQL数据库中的一些数据,我想删除中断行,但我无法实现 我通过node.js获取数据,并使用express.js在web浏览器上打印数据。 结果是: 正如您所看到的,两行之间都有一条折线,我想删除它,因为当我尝试在我正在构建的android应用程序上读取JSON时,它会导致问题 我曾尝试在互联网上搜索如何实现它,大多数答案都是关于使用str.replace(/\r?\n |\r/g'),但在我的情况下它不起作用 这是我目前拥
var dbData = '<%-usersList%>';
dbData = JSON.parse(dbData.replace(/\r?\n|\r/g, ''));
document.write(JSON.stringify(dbData));
此函数调用从数据库获取数据的js文件:
function getDBData() {
const users = new Promise((resolve, reject) => {
dbConnection
.getUsers()
.then(data => {
resolve(data)
})
});
const groups = new Promise((resolve, reject) => {
dbConnection
.getGroups()
.then(data => {
resolve(data)
})
});
const frmTexts = new Promise((resolve, reject) => {
dbConnection
.getFrmTexts()
.then(data => {
resolve(data)
})
});
return Promise.all([users, groups, frmTexts])
.then(data => {
return {
usersList: data[0],
groupsList: data[1],
frmTextsList: data[2]
}
});
}
打印data.usersList(在node.js中)的结果:
编辑:修正!我之所以想删除中断行,是因为我在Android Studio上解析JSON时遇到问题,但我刚刚发现这是因为我没有在url字符串中添加
http://
(我的错误)。现在我的android应用程序开始工作了。你可以使用深度克隆的概念来去除JSON obj中不需要的属性
var rawData = [{
'iduser':1,
'user':'XXX',
'password': 'XXX123',
'groups_idgroup': 1,
'idgroup':1,
'name': 'James'
},
{
'iduser':9,
'user':'XXX',
'password': 'XXX123',
'groups_idgroup': 2,
'idgroup':2,
'name': 'James'
}];
rawData.forEach( function(item, index){
rawData[index] = Object.assign({}, item, {'user':undefined, 'password':undefined, 'name': undefined} );
console.log(JSON.stringify(rawData));
输出:-
[{"iduser":1,"groups_idgroup":1,"idgroup":1},{"iduser":9,"groups_idgroup":2,"idgroup":2}]
@Adrian2895
只需将其转换为字符串,这将删除新行/回车符。而且上面的代码运行良好(我提到使用深度克隆删除任何属性)
哦,不,不。出于隐私原因,我对用户、密码和姓名进行了审查,因为这是我不想在StackOverflow中显示的数据。因此,我不想从JSON对象中删除它们。对不起,把你弄糊涂了。我只想删除两行之间的换行符。你的代码也适用于此吗?顺便说一句:我已经尝试了你的代码,但出现了一个错误。Visual Studio代码显示应为
“}”。查看屏幕截图:抱歉耽搁了,我一直在忙其他事情。我刚刚再试了一次,没有,我不知道为什么它在我的情况下不起作用:你可以检查我的JS文件中的全部代码:。结果再次出现Chrome:and:Hi。显然我不再需要这个了,所以不用担心。我之所以想删除中断行,是因为我在Android Studio上解析JSON时遇到问题,但我刚刚发现这是因为我没有在url字符串中添加http://
(我的错误)。现在我的android应用程序正在运行。无论如何谢谢你!
[{"iduser":1,"groups_idgroup":1,"idgroup":1},{"iduser":9,"groups_idgroup":2,"idgroup":2}]