javascript Object.type中是否有属性?
我现在正在学习Node.Js,遇到了以下代码:javascript Object.type中是否有属性?,javascript,json,node.js,object,Javascript,Json,Node.js,Object,我现在正在学习Node.Js,遇到了以下代码: var combine = require('stream-combiner'); var through = require('through2'); var split = require('split'); var zlib = require('zlib'); module.exports = function () { var grouper = through(write, end); va
var combine = require('stream-combiner');
var through = require('through2');
var split = require('split');
var zlib = require('zlib');
module.exports = function () {
var grouper = through(write, end);
var current;
function write (line, _, next) {
if (line.length === 0) return next();
var row = JSON.parse(line);
if (row.type === 'genre') {
if (current) {
this.push(JSON.stringify(current) + '\n');
}
current = { name: row.name, books: [] };
}
else if (row.type === 'book') {
current.books.push(row.name);
}
next();
}
function end (next) {
if (current) {
this.push(JSON.stringify(current) + '\n');
}
next();
}
return combine(split(), grouper, zlib.createGzip());
};
write函数得到的每一行都是一个json行,如下所示:
"name": "Neuromancer","genre": "cyberpunk"
预期结果是以下JSON对象:
{
"name": "cyberpunk",
"books": [
"Accelerando",
"Snow Crash",
"Neuromancer",
"The Diamond Age",
"Heavy Weather"
]}
等等
基本上我的问题是-row.type是什么意思
提前谢谢你!:D您将类型参数放入var行中
var row = JSON.parse(line);
因此,这不是对象函数的特殊属性,它只是JSON中的一个参数(varline)它是JSON参数
line
中的一个属性。它可能是任何东西-无法从中分辨出您在哪里找到了代码?你确定它真的有效吗?JSON示例没有type
属性,因此row.type
将始终是undefined
,如果这确实是输入的样子。这正是我的想法。这是我用来学习Node.JS的研讨会的一部分,所以我想他们知道自己在做什么。基本上,我通过执行JSON.parse()向JSON添加了type属性?