您好,我正试图这样做
firebasecrashreport.json
我按照以下步骤操作:
我在使用const request = require('request');
const zlib = require('zlib');
const opts = {
uri: 'http://data.githubarchive.org/2015-01-01-15.json.gz',
encoding: null,
};
request.get(opts, function(error, response, body) {
if (!error) {
zlib.gunzip(body, function(err, decoded) {
if (err) {
console.log(err)
} else {
var json_string = decoded.toString('utf-8').replace(/(\r\n|\n|\r)/gm, " ").trim();
var json = JSON.parse(json_string);
console.log("SJON", typeof json)
}
});
}
});
解析数据时遇到错误,这是 github 的公开JSON.parse
。我不知道我哪里出错了,任何人都可以帮忙。
答案 0 :(得分:3)
该文件每行包含一个JSON对象。只是删除换行符不会产生有效的单 JSON对象。相反,您可以在新行上拆分输入数据,并分别解析每一行:
zlib.gunzip(body, function(err, decoded) {
if (err) {
console.log(err);
} else {
let array = decoded.toString().trim().split(/\r?\n/).map(line => JSON.parse(line));
...
}
});