如何使用ndjson值分配javascript变量

如何使用ndjson值分配javascript变量,javascript,json,ndjson,Javascript,Json,Ndjson,我想将ndjson文件中的数据分配到js变量中。我试着把它放在一个数组和一个对象中,但这给我带来了错误 我试过像这样 var data = [{"attributes":{}} {"attributes":{}} {"attributes":{}}] 及 但这是行不通的 有人能帮助我如何将这个ndjson值分配给js变量而不引发错误吗 对象的Javascript数组如下所示,请参见它们之间的逗号, var数据=[{ “属性”:{} },{ “属性”:{} },{ “属性”:{} }]; 控

我想将ndjson文件中的数据分配到js变量中。我试着把它放在一个数组和一个对象中,但这给我带来了错误

我试过像这样

var data = [{"attributes":{}}
{"attributes":{}}
{"attributes":{}}]

但这是行不通的


有人能帮助我如何将这个ndjson值分配给js变量而不引发错误吗

对象的Javascript数组如下所示,请参见它们之间的逗号

var数据=[{
“属性”:{}
},{
“属性”:{}
},{
“属性”:{}
}];
控制台日志(数据)对于流式传输值非常有用-格式
本质上是一个对象数组,但(1)省略了最外层的括号[],因此该数组是隐含的,(2)记录之间的分隔符是换行符而不是逗号。基本上是一个行流,其中每一行都是JSON格式的记录。不清楚记录/行本身是否可以是数组,但对象可以包含数组

使用规范中提供的,您必须以某种方式收到此文本流:

{"some":"thing"}
{"foo":17,"bar":false,"quux":true}
{"may":{"include":"nested","objects":["and","arrays"]}}
假设您已收到此消息并将其存储在一个变量中,该变量将是一个字符串,
input
。然后可以使用
input.split('\n')

通过
JSON.parse(…)
解析每个文件,并将结果保存在数组中

let input='{“some”:“thing”}\n{“foo”:17,“bar”:false,“quox”:true}\n{“may”:{“include”:“nested”,“objects”:[“and”,“arrays”]};
让result=input.split('\n').map(s=>JSON.parse);
log('结果项数组:');
控制台日志(结果);
log('每个项目一次:');
对于(结果的o){
控制台日志(“项:”,o);

}
对于流式传输值很有用(我必须查找这个,我从来没有听说过ndjson)-它本质上是一个对象数组(和数组?),但是(1)最外层的括号
[]
被省略,(2)记录之间的分隔符是一个换行符而不是逗号。那么…您是如何获得/接收此流的?您可以
JSON.parse()
流中的每个项并将结果对象推送到一个数组中,但解析方式取决于您是如何接收它的,例如,您是否有一个大字符串,其中充满了换行符分隔的对象?由于ndjson的链接,我们对大量新信息进行了投票also@Stephen问题是,,我无法将ndjson值保存到变量中。这是我的错误。这就是我试图做的,我有xyz.js->我已经在其中创建了一个变量var x=ndjson数据,我已经为它分配了ndjson数据。这是我的错误。我在问如何像前面提到的那样为它分配ndjson值。@MaKr-正如我在对你的Q的评论中提到的,很大程度上取决于你是如何获得/接收这个ndjson的,而你在问题中没有说明这一点。您是通过执行一个或一个AJAX请求来接收它的吗?从文件中读取它?你一行一行地拿到了吗?还是一网打尽?如果从文件中读取,如何读取?您不知何故得到了一个包含ndjson格式文本的字符串-显示该代码。如果从一个文件中读取一行,那么这就是
o=JSON.parse(line)
{"some":"thing"}
{"foo":17,"bar":false,"quux":true}
{"may":{"include":"nested","objects":["and","arrays"]}}