我在节点js服务器上收到一个json字符串,如下所示:
{\"gID\":1,\"sID\":18,\"T\":\"Parking\"}
我放入" \"是因为字符串是用C语言创建的,而\用于转义"否则会结束字符串。
我现在使用的代码是:
app.get('/add/:jsonString', function(req, res){
var json = JSON.parse(req.params.jsonString);
});
有没有办法只删除字符串中的\?
答案 0 :(得分:1)
为什么要删除它,没有必要?
var a ="{\"gID\":1,\"sID\":18,\"T\":\"Parking\"}";
console.log(JSON.parse(a));
// give Object { gID: 1, sID: 18, T: "Parking" }
修改
使用Url编码传递你的get json
var str = encodeURIComponent("{\"gID\":1,\"sID\":18,\"T\":\"Parking\"}");
// send your request
request.get({uri:"website/api?data="+str}, ...
在服务器中,解码uri然后解析
var string = decodeURIComponent(req.query.data);
var obj = JSON.parse(string);
答案 1 :(得分:0)
答案 2 :(得分:0)
我建议你使用POST请求将JSON传递给你的应用程序,因为有很多字符不是URI安全的。
但是,您可以使用内置unescape
模块中的querystring
方法。
const qs = require('querystring');
app.get('/add/:jsonString', function(req, res){
const json = JSON.parse(qs.unescape(req.params.jsonString));
});