我是 Node.js 新手。我的要求是,我需要解析 JSON 并将数据导出到 Excel 文件中,其中包含 JSON 中的所有字段。
我的 JSON 如下:
{
"id": 1255,
"title": "The Brain and Nervous System (LS1.D)",
"description": "By the time you finish this playlist, you should be able to: 1. Describe how the nervous system is organized and how it works 2. Describe the role of the nervous sytem, and explain how our different senses work to send information to your brain",
"keyTerms": "You should also be able to define the following words: stimulus, response, neuron, sensory neuron, motor neuron, nerve impulse, dendrite, axon, nerve, central nervous system, peripheral nervous system, brain, spinal cord, cerebrum, cerebellum, brain stem, retina, cochlea",
"visible": true,
"introduction": {
"id": 5336,
"title": "Introductory Materials",
"resources": [
{
"id": 23022,
"title": "Vocabulary - Brain and Nervous System",
"description": "",
"purpose": "",
"category": "Website",
"position": 1,
"contentItem": {
"id": 1650,
"url": "http://quizlet.com/45497180/flashcards",
"itemType": "Website",
"embedUrl": null
}
},
{
"id": 23023,
"title": "The Brain and Nervous System Study Guide",
"description": "Fill out this study guide while studying! It will help you prepare for the assessment!",
"purpose": "",
"category": "Website",
"position": 2,
"contentItem": {
"id": 12581,
"url": "https://docs.google.com/a/summitps.org/document/d/1TjF1MY3cyGNKT4s46uk1iz5NvjrY59eNPH8YKYYTC_E/edit",
"itemType": "Website",
"embedUrl": null
}
}
]
},
"objectives": [
{
"id": 10732,
"title": "1. Describe how the nervous system is organized",
"caContribution": 5,
"position": 1,
"resources": [
{
"id": 23024,
"title": "Reading - How the Nervous System Works",
"description": "",
"purpose": "",
"category": "Document",
"position": 1,
"contentItem": {
"id": 1651,
"url": null,
"itemType": "Document",
"embedUrl": "https://view-api.box.com/1/sessions/493fca96d46a4559813c3118ebeef8b6/view?theme=light",
"s3Url": "/files/content_items/relateds/000/001/651/original/53d1ddd8f07787731aa7d84f-how_20nervous_20system_20works_001.pdf?1424368501"
}
}
]
},
{
"id": 10734,
"title": "2. Describe the role of the nervous sytem, and explain how our different senses work to send information to your brain",
"caContribution": 5,
"position": 2,
"resources": [
{
"id": 23039,
"title": "Study Jams - The Senses",
"description": "This series of videos explains the different senses: sight, hearing, taste, touch, and smell",
"purpose": "",
"category": "Website",
"position": 1,
"contentItem": {
"id": 1666,
"url": "http://studyjams.scholastic.com/studyjams/jams/science/human-body/touching.htm",
"itemType": "Website",
"embedUrl": null
}
},
{
"id": 23040,
"title": "Nervous System: I'm Sensing Something",
"description": "Format: Article Content: How does the nervous system work and interact with other systems",
"purpose": "",
"category": "Website",
"position": 1,
"contentItem": {
"id": 12582,
"url": "http://www.biology4kids.com/files/systems_nervous.html",
"itemType": "Website",
"embedUrl": null
}
}
]
}
]
}
我用的是json2xls模块,我得到了电子表格,其中包含字段 id、标题、描述、keyTerms、可见、介绍、目标,其中介绍和目标如下[对象][对象],[对象][对象]
下面是导出到Excel文件的代码:
var fs = require("fs");
var json2xls = require("json2xls");
fs.readFile('/home/e100093/nodejs/sampleJson.json','utf8',function(err,body){
var jsonData = JSON.parse(body);
var xls = json2xls(jsonData);
fs.writeFileSync('final-test.xlsx', xls, 'binary');
});
但我想要输出字段,如 id、title、description、keyTerms、visible、introduction.id、introduction.title、introduction.resources.id、introduction.resources.title、...、objectives.id、objectives.title、objectives .描述,......,等等。
我需要动态解析对象和数组并在电子表格的每一列中生成字段。
包含列和数据的示例输出如下:
id title description keyTerms visible introduction.id introduction.title introduction.resources.id introduction.resources.title introduction.resources.description introduction.resources.purpose introduction.resources.category introduction.resources.position introduction.resources.contentItem.id introduction.resources.contentItem.url introduction.resources.contentItem.itemType introduction.resources.contentItem.embedUrl objectives.id objectives.title objectives.caContribution objectives.position objectives.resources.id objectives.resources.title objectives.resources.description objectives.resources.purpose objectives.resources.category objectives.resources.position objectives.resources.contentItem.id objectives.resources.contentItem.url objectives.resources.contentItem.itemType objectives.resources.contentItem.embedUrl objectives.resources.contentItem.s3Url
1255 The Brain and Nervous System (LS1.D) By the time you finish... You should also... true 5336 Introductory Materials 23022 Vocabulary - Brain and Nervous System null null Website 1 1650 http://quizlet.com/... Website null null null null null null null null null null null null null null null null
1255 The Brain and Nervous System (LS1.D) By the time you finish... You should also... true 5336 Introductory Materials 23023 The Brain and Nervous System Study Guide Fill out this... null Website 2 12581 https://docs.google.com/... Website null null null null null null null null null null null null null null null null
1255 The Brain and Nervous System (LS1.D) By the time you finish... You should also... true null null null null null null null null null null null null 10732 1. Describe how... 5 1 23024 Reading - How... null null Document 1 1651 null Document https://view-api.box.com/1... /files/content...
1255 The Brain and Nervous System (LS1.D) By the time you finish... You should also... true null null null null null null null null null null null null 10734 2. Describe the role... 5 2 23039 Study Jams - The Senses This series of videos null Website 1 1666 http://studyjams.scholastic.com... Website null
1255 The Brain and Nervous System (LS1.D) By the time you finish... You should also... true null null null null null null null null null null null null 10734 2. Describe the role... 5 2 23040 Nervous System: I'm Sensing... Format: Article Content... null Website 1 12582 http://www.biology4kids.com... Website null
请帮助我如何做到这一点。