首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在NodeJs中将此缓冲区转换为JSON

在NodeJs中将此缓冲区转换为JSON
EN

Stack Overflow用户
提问于 2017-06-27 03:03:36
回答 1查看 2K关注 0票数 1

我正在用NodeJs发出一个HTTPS POST请求,我得到了一个本应在JSON中的奇怪的缓冲区。

下面是我的代码:

代码语言:javascript
运行
复制
       var options = {
            url: someURL,
            host: "SomeApi.com",
            method: 'POST',
            encoding: null,
            gzip: true,
            headers: {
                'Accept': 'application/json, text/json, text/x-json, text/javascript, text/xml, application/xml',
                'User-Agent': 'RestSharp/105.2.3.0',
                'Accept-Encoding': 'gzip, deflate',
                'Content-Length': '0'
            },
        }

        var body = "";
        https.get(options, (response) => {
            response.on('data', (chunk) => {
                body += chunk;
            });
            response.on('end', () => {
                //var data = JSON.parse(body);
                console.log(response);
                //gunzipJSON(response)
            });

        });

这就是我要得到的:

代码语言:javascript
运行
复制
....
 read: [Function] }
{"type":"Buffer","data":[123,13,10,32,32,34,97,99,99,101,115,115,95,116,111,107,
101,110,34,58,34,100,101,49,56,51,100,100,57,45,102,49,98,52,45,52,53,98,53,45,9
7,98,98,100,45,54,55,56,98,52,102,99,99,100,56,57,56,34,44,13,10,32,32,34,116,11
1,107,101,110,95,116,121,112,101,34,58,34,109,97,99,34,44,13,10,32,32,34,101,120
,112,105,114,101,115,95,105,110,34,58,51,54,48,48,44,13,10,32,32,34,114,101,102,
114,101,115,104,95,116,111,107,101,110,34,58,34,48,56,102,51,54,50,99,55,45,57,5
2,56,100,45,52,52,101,54,45,98,53,97,51,45,50,56,50,54,54,54,102,97,48,48,57,55,
34,44,13,10,32,32,34,115,99,111,112,101,34,58,34,111,111,98,34,44,13,10,32,32,34
,109,97,99,95,107,101,121,34,58,34,48,51,99,102,52,97,51,54,45,51,97,57,50,45,52
,102,51,98,45,56,97,54,98,45,101,56,100,98,101,56,56,98,102,100,54,51,34,44,13,1
0,32,32,34,109,97,99,95,97,108,103,111,114,105,116,104,109,34,58,34,104,109,97,9
9,45,115,104,97,45,49,34,44,13,10,32,32,34,97,117,116,104,111,114,105,122,101,10
0,95,99,111,110,116,97,99,116,95,105,100,34,58,34,53,57,48,48,56,52,34,44,13,10,
32,32,34,97,117,116,104,111,114,105,122,101,100,95,99,111,110,115,117,108,116,97
,110,116,95,107,101,121,34,58,34,54,50,97,49,100,48,50,56,45,50,102,55,100,45,52
,57,55,48,45,98,102,53,52,45,102,99,50,51,97,97,51,48,99,50,56,99,34,44,13,10,32
,32,34,97,117,116,104,111,114,105,122,101,100,95,99,111,110,115,117,108,116,97,1
10,116,95,115,117,102,102,105,120,34,58,34,37,50,50,85,83,37,50,50,34,44,13,10,3
2,32,34,97,117,116,104,111,114,105,122,101,100,95,99,111,110,115,117,108,116,97,
110,116,95,115,117,98,115,105,100,105,97,114,121,34,58,34,85,83,34,13,10,125]}

这是我想要返回的JSON代码的长编码表示吗?如果是这样,我该如何解码呢?

如果这是一个补救性的问题,我提前道歉。我是NodeJs的新手,正在提出请求,感谢您的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-27 04:38:12

nodejs.org/api/stream.html#stream_readable_setencoding_encod‌​ing

代码语言:javascript
运行
复制
var options = {
  url: someURL,
  host: "SomeApi.com",
  method: 'POST',
  encoding: null,
  gzip: true,
  headers: {
    'Accept': 'application/json, text/json, text/x-json, text/javascript, text/xml, application/xml',
    'User-Agent': 'RestSharp/105.2.3.0',
    'Accept-Encoding': 'gzip, deflate',
    'Content-Length': '0'
  },
}

var body = "";
https.get(options, (response) => {
  response.setEncoding('utf8');
  response.on('data', (chunk) => {
    body += chunk;
  });
  response.on('end', () => {
    //var data = JSON.parse(body);
    console.log(response);
    //gunzipJSON(response)
  });

});

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44766911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档