如何在使用节点的响应中删除多余的斜杠?
如何删除我的回复中的额外斜线?
我已经尝试JSON.parse
和JSON.stringify
但他们不在我的代码中工作。 JSON.parse
json at position 10
引发像json at position 10
这样的错误。
我把响应的对象放在一个数组中。 然后我显示对象数组(与数组)作为响应。
{ "status": true, "message": "Data Found", "data": [ "{\"errors\":[],\"detail\":[{\"repositories\":[],\"_instance\":{\"applicationLinkId\":\"4b0d5edc-c683-3502-aed7-5f6e152b877d\",\"singleInstance\":false,\"primary\":true,\"baseUrl\":\"http://stash.computenext.com\",\"name\":\"Stash\",\"typeName\":\"Bitbucket Server\",\"id\":\"4b0d5edc-c683-3502-aed7-5f6e152b877d\",\"type\":\"stash\"}}]}" ] }
我的代码:
exports.getCommits = function (req, res) { console.log(filename + '>>get commits>>'); var response = { status: Boolean, message: String, data: String }; var request = require('request'); var username = username; var password = password; var options = { url: 'https://computenext.atlassian.net/rest/api/2/search?jql=status+%3D+Resolved+ORDER+BY+updated', auth: { username: username, password: password } }; request(options, function (error, obj) { if (error) { response.message = appmsg.DATA_NT_FOUND; response.status = false; response.data = obj; res.send(response); } else { response.message = appmsg.DATA_FOUND; response.status = true; response.data = JSON.parse(obj.body); //res.send(response); var respon = { status: Boolean, message: String, data: String }; var issueKey = response.data.issues; var id = issueKey[0].id; console.log(id); var commitout = []; for (var i = 0; i < issueKey.length; i++) { var commits = issueKey[i].id; console.log(commits); var request = require('request'), username = username, password = password, url = "https://computenext.atlassian.net/rest/dev-status/1.0/issue/detail?issueId=" + commits + "&applicationType=stash&dataType=repository", auth = "Basic " + new Buffer(username + ":" + password).toString( "base64"); //console.log(url); var test = []; request({ url: url, headers: { "Authorization": auth } }, function (err, obj1) { if (obj1) { var info1 = obj1.body; commitout.push(info1); if (issueKey.length === commitout.length) { respon.message = appmsg.DATA_FOUND; respon.status = true; respon.data = commitout; res.send(respon); } } }); } } }); };
尝试parsing下面的元素
commitout.push(info1);
改成,
commitout.push(JSON.parse(info1));
更新
尝试下面的正则expression式
info1 = info1.replace(/\\/g, ""); commitout.push(info1);