我有一个名为hastanelistesi.json的文件。在此文件中,我想访问“ hastaneAdi”并显示选择选项菜单。但是我总是会收到错误消息。我从mssql获取json文件。但是,我对node.js进行了多个查询,因此我应用了此路径。
{
"recordsets": [
[{
"hastaneAdi": "ACADEMİC HOSPİTAL"
},
{
"hastaneAdi": "ACIBADEM BAKIRKÖY HASTANESİ"
},
{
"hastaneAdi": "ACIBADEM KOZYATAĞI HASTANESİ"
}
]
}
//index.js
var fs = require("fs");
var liste = [];
var result;
var rawdata = fs.readFileSync('data.json');
var data = JSON.parse(rawdata);
var grouped_data = data.recordsets.map(function (item) {
return item.hastaneAdi;
});
console.log(grouped_data);
//jade page
td
select#hastaneismi.custom-select(name='hastaneismi')
option(selected='') Seçiniz....
-for item in grouped_data
option=item.hastaneAdi
td
button.btn.btn-light(type='submit', value='submit')
img(style='height: 24px ; width: 24px', src='/images/kaydet.svg')
//and error
Cannot read property 'length' of undefined
答案 0 :(得分:0)
假设您的json数据位于保存在同一脚本文件夹中的文件(例如data.json
)中:
const fs = require('fs');
// read data
let rawdata = fs.readFileSync('data.json');
// parse data
let data = JSON.parse(rawdata);
// map data
let grouped_data = data.recordsets.map((item) => { return item.hastaneAdi; })
console.log( grouped_data );
演示:https://repl.it/repls/StableHorribleWrapper
假设您正确地将grouped_data
传递给了翡翠模板,这应该可以工作:
select#hastaneismi.custom-select(name='hastaneismi')
option(selected='') Seçiniz....
-for item in grouped_data
option=item