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

NodeJS异步JSON解析导致buffer.toString()失败

周伟泽
2023-03-14
var fileStream = require('fs');
var jsonObj;

fileStream.readFile('./data/exporttest2.json', fileCallback);

function fileCallback (err, data) {
    return err ? (console.log(err), !1):(jsonObj = JSON.parse(data));
    //Process JSON data here
}
buffer.js:495
    throw new Error('"toString()" failed');
    ^

Error: "toString()" failed
    at Buffer.toString (buffer.js:495:11)
    at Object.parse (native)
    at fileCallback (C:\Users\1700675\Research\Experiments\NodeJS\rf_EU.js:49:18)
    at FSReqWrap.readFileAfterClose [as oncomplete] (fs.js:445:3)

那么,我的问题是,有没有一种方法,我可以异步读取我的JSON文件块,不超过256MB的缓冲区长度,而不手动传播我的JSON数据到几个文件?

共有1个答案

湛钊
2023-03-14

有没有一种html" target="_blank">方法我可以异步读取我的JSON文件块不超过256MB的缓冲区长度,而不手动传播我的JSON数据到几个文件?

这是一个常见的问题,有几个模块可以帮助您解决这个问题:

  • https://www.npmjs.com/package/jsonstream
  • https://www.npmjs.com/package/stream-json
  • https://www.npmjs.com/package/json-stream
  • https://www.npmjs.com/package/json-parse-stream
  • https://www.npmjs.com/package/json-streams
  • https://www.npmjs.com/package/jsonparse
const JSONStream = require('JSONStream');
const fs = require('fs');

fs.createReadStrem('./data/exporttest2.json')
  .pipe(JSONStream.parse('...'))...
 类似资料:
  • 运行此代码时会出现异常。我想解析url,它是一个json对象数组: 这是我的日志: 更新的logcat: 完整logcat:05-13 22:15:01.438:I/dalvikvm(968):threadid=3:对信号3作出反应05-13 22:15:01.598:I/dalvikvm(968):将堆栈跟踪写入“/数据/anr/跟踪。txt’05-13 22:15:01.718:D/grall

  • 问题内容: 我想知道配置模块导出的最佳方法是什么。在下面的示例中,“ async.function”可以是FS或HTTP请求,为示例起见简化了该请求: 这是示例代码(asynmodule.js): 如何仅在执行异步回调后导出模块? 编辑 有关我的实际用例的简短说明:我正在编写一个模块,用于在fs.exists()回调中配置nconf(https://github.com/flatiron/ncon

  • 我正在使用使用HTTPS和自签名证书托管的GRPC服务。当我使用以下语法连接时: 我得到这样的错误 任何人帮助我如何解决这个问题。 注意:我的操作系统是Windows 10,nodejs--v10.16.0,GRPC

  • 我的旧书堆 spring boot 1.5.6 realease 我的目标 我试图将一些数据打印到jasper report中,所以我创建了一个rest控制器,我想从前端发送json数据,并通过jackson api将其解析到pojo列表中,然后使用JRDataBean来处理我的报告 我的密码 当按下打印按钮时,我正在使用ajax发送这个json数组,我从chrome控制台获得了这个json数组,

  • 问题内容: nodejs服务器从Twitter“获取”此JSON流并将其发送到客户端: 返回给客户端的数据是“块状” JSON,并且客户端上的JSON.parse(chunk)和eval(’(’+ chunk +’)’)都会导致解析错误。连接被卡住的部分并等待“结束”事件也不是解决方案 我注意到以前的示例在客户端上使用了类似的东西,这些东西以前似乎很有效: 我在客户端使用它,它导致解析错误: 我知

  • 当我的应用程序中的表单提交时,它将(在客户端)转换为超文本标记语言字符串,如下所示: 作为转换过程的一部分,每个字段值都被清理(通过Angular的服务)以删除任何