当前位置: 首页 > 知识库问答 >
问题:

Json解码和解析错误node.js[重复]

司寇光华
2023-03-14

嗨我正试着这么做

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)
            }
        });
    }
});

我遵循以下步骤:

  1. 从url获取数据
  2. 用zlib.gunzip解压
  3. 将解码数据转换为字符串
  4. 替换所有换行符和喙语句
  5. 我正在尝试解析抛出错误的字符串

使用JSON解析数据时出错。解析,这是github的公共数据集。我不知道我哪里出错了,谁能帮我一下吗。

共有1个答案

陈泰宁
2023-03-14

文件每行包含一个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));
    ...
  }
});
 类似资料:
  • 问题内容: 尝试对mongoexport使用查询会导致错误。但是mongo-client会评估相同的查询,而不会出错。 在mongo-client中: 使用mongoexport: 产生的错误: 但是预先在mongoexport中进行乘法: 作品! 为什么mongo在这两种情况下对查询的评估不同? 问题答案: 该命令行实用程序支持传递查询 JSON 格式,但您要评估 的JavaScript 在您的

  • 和 是我用来获取JSON并对其进行解析的类。但是当我运行第一个时,它会报告以下堆栈跟踪: 它告诉我添加JsonReader。将lenient(true)设置为我的代码,但我的代码不使用JsonReader。那么如何将setLenient(true)添加到代码中? 编辑:添加API响应(格式化):

  • 我有以下命令。我想循环使用此键和值,即对于冰/冷的项目,打印“值” 我试过这个: 却给我错误

  • 我一直得到一个JSON解析器错误,每次我尝试连接从Android到php帐户。下面你会看到我得到的错误: 谁能帮帮我吗。。。 PHP代码: Android代码: Android代码: 公共JSONObject getJSONFromUrl(字符串url,列表参数){ 注册用户JSONObject PhP警告: php代码: 链接89是$no_of_rows 用户表结构: mysql_error:

  • 我已经试了4个小时来解决这个问题。 :这很有效 :这不会 唯一的区别是月份全部大写。7月工程的适当案例。7月或7月都不起作用。我还尝试了“LLL”的模式,但运气不好。我错过了什么??

  • 我使用XAMPP,我所做的是尝试连接到phpmyadmin上的数据库,但是提示了一个错误,说语法错误,但是代码是正确的。 解析错误:语法错误,在第10行C:\xampp\htdocs\csgopit\connect.php中出现意外的“{” 代码本身非常简单,我不明白为什么它不能工作。