Как получить значение из файла JSON и отобразить на веб-сайте - PullRequest
0 голосов
/ 30 августа 2018

Я пытаюсь создать сайт Node.JS. Я хотел бы получить данные из файла JSON для правильного отображения на веб-сайте. Как мне поступить так? Я новичок в Node.JS и не понимаю, где я пишу сценарии.

   {
    "id": "dfd9722a-3ca3-48e7-af2b-633e33d626b5",
    "clientId": "4ef8da99-07ee-4f40-8ea5-be13f4592a62",
    "source": "D346618B-2C9F-4765-940A-B9369BD67114",
    "destination": "",
    "priority": "MEDIUM",
    "reliability": "BEST_EFFORT",
    "eventTime": 1535036080788,
    "eventTimeAsString": "2018-08-23T14:54:40Z",
    "sender": "",
    "type": "DATA",
    "properties": {},
    "direction": "FROM_DEVICE",
    "receivedTime": 1535036083635,
    "receivedTimeAsString": "2018-08-23T14:54:43Z",
    "payload": {
        "format": "urn:oracle:hospitality:lock:attributes",
        "data": {
            "locked": false,
                "Source_FirstName":"John",
                "Source_LastName":"Dunbar"
        }
    }
}

Я пытаюсь заставить Джона (имя_источника) Данбар (имя_источника) появиться на моем сайте. Я использую Node.JS, экспресс и рули (как мой шаблонизатор).

<div id="body-container">
<div id="header">
    <div id="logo-content">
        <div id="logo"></div>
    </div>
    <div id="welcome">
        <p>Welcome {{!-- <-- Here goes JSON values }} to Node Park</p>
    </div>
</div> 
{{!-- end of header --}}

Вот мой код Node.JS

const express = require('express');
const path = require('path');
const hbs = require('express-handlebars');

// Init App
const app = express();

// Load View Engine
app.engine('hbs', hbs({extname: 'hbs', defaultLayout: 'layout', 
layoutsDir: __dirname + '/views/layouts/'}));
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'hbs');
app.use(express.static(__dirname+'/public'));

// Home Route
app.get('/', function(req, res){
  res.render('index', {
    title: 'Node.JS',
    hotel: 'NODEMON'
  });
});

// Start Server
app.listen(5000, function(){
  console.log('Port 5000 open for business.');
});

Ответы [ 2 ]

0 голосов
/ 30 августа 2018

Вы можете запросить файл json в вашем сервисе.

//If the json file is in the same root
const json = require("./data.json");

app.get('/', function(req, res){      
  res.render('index', {
    title: 'Node.JS',
    hotel: 'NODEMON',
    firtsName : json.payload.data.Source_FirstName,
    lastName : json.payload.data.Source_LastName
  });
});

И доступ к firtsName и lastName в html

<div id="body-container">
<div id="header">
    <div id="logo-content">
        <div id="logo"></div>
    </div>
    <div id="welcome">
        <p>Welcome {{ firtsName }} {{ lastName }} to Node Park</p>
    </div>
</div> 
{{!-- end of header --}}
0 голосов
/ 30 августа 2018
const json = require('./your.json');

// Home Route
app.get('/', function(req, res){
  res.render('index', {
    title: 'Redwood Welcome',
    hotel: 'Redwood Hotel',
    source_firstname: json.source_firstname,
    source_lastname: json.source_lastname,
  });
});

<div id="welcome">
        <p>Welcome {{source_firstname}} {{source_lastname}} to Node Park</p>
    </div>
...