【发布时间】:2017-02-07 13:24:22
【问题描述】:
在这种情况下,我已经尝试获取返回的 JSON,但是当我使用 JSON.parse 和 JSON.stringify 时,它返回未定义。如果我不使用并只留下data = data.toString('utf8');,则返回:
!!xxxxxxxxxxxxxxxxxxxxxxxxxxxxx.rest.schema.CtLoginResp {error: null, sessionID: 6dMX4uGVurFdLRL+hW4F2kIW}
我想要 sessionid...但是如果我尝试获取这个,返回未定义,我尝试 JSON.parse,JSON.stringify,看到:
我的代码:
var Client = require('./lib/node-rest-client').Client;
var client = new Client();
var dataLogin = {
data: { "userName":"xxxxxxxxxxx","password":"xxxxxxxxxxxxx","platform":"xxxxxxx" },
headers: { "Content-Type": "application/json" }
};
client.registerMethod("postMethod", "xxxxxxxxxxxxxxxxxxxx/login", "POST");
client.methods.postMethod(dataLogin, function (data, response) {
// parsed response body as js object
// console.log(data);
// raw response
if(Buffer.isBuffer(data)){ // if i remove buffer return is 21 22 etc etc
data = data.toString('utf8'); // this return all but String
var outputTe = data;
var res = outputTe.split(" ", 4);
res = res[3].split("}", 1);
}
console.log(res);
});
图像返回:
如果我不使用缓冲区,则返回 21 34 56 等。
但如果我使用 return 是图像内的所有 STRING data.toString();...
编辑。
我尝试使用split,但只返回字符串“sessionid”参见另一张图片:
我在 W3 学校尝试相同的代码,但在我的代码中不起作用,但在 W3 学校测试工作正常:
2)
【问题讨论】: