解析JSON文件时出现语法错误。的NodeJS

时间:2018-02-18 11:56:14

标签: json node.js syntax-error

大家好!我正在尝试在nodejs中构建Google Pagespeed客户端。 我得到一个json文件,其中包含任何url的语法错误。例如:url:http://www.bbc.com/,错误:enter image description here json文件:enter image description here

我只需要属性“ruleGroups”。我尝试将其解压缩为jsonpath.query(d,'$ .ruleGroups') - 没有成功。 请帮助理解,对不起,如果问题是dilettian。

    let key = 'key';
    let url = 'http://www.bbc.com/';
    let strategy = 'desktop';

    https.get({
    host: 'www.googleapis.com',
    path:  '/pagespeedonline/v4/runPagespeed?url=' + encodeURIComponent(url) +
    '&key='+key+'&strategy='+strategy
}, function (res) {
    console.log ("statusCode:", res.statusCode);
    console.log ("headers: ", res.headers);
    res.on ('data', function (d) {
        let json = JSON.parse(d);
        fs.appendFile('log.txt', json);
    });
}). on ('error', function (e) {
    console.error (e);
});

1 个答案:

答案 0 :(得分:1)

您可能需要累积所有数据,然后在“结束”事件中解析:

let rawData = '';
res.on('data', (chunk) => { rawData += chunk; });
res.on('end', () => {
  try {
    const parsedData = JSON.parse(rawData);
    console.log(parsedData);
  } catch (e) {
    console.error(e.message);
  }
});

更多信息:https://nodejs.org/api/http.html#http_http_get_options_callback