我有一个名为hastanelistesi.json的文件。在此文件中,我想访问“ hastaneAdi”并显示选择选项菜单

时间:2019-05-01 17:40:02

标签: javascript node.js json

我有一个名为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  

1 个答案:

答案 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