簡體   English   中英

在JSON文件中使用JavaScript變量

[英]Use JavaScript variables in JSON file

我正在嘗試在一個簡單的Hello World NodeJS應用程序的JSON文件中引用自密鑰。

{
    "person": {
        "first_name": "Aminul",
        "last_name": "Islam"
    },
    "full_name": "{$person.first_name} {$person.last_name}"
}

和應用文件。

const person = require('./app.json');

console.log(person.full_name);

預期結果:

Aminul Islam

結果:

{$person.first_name} {$person.last_name}

這在JSON中不起作用這是一個js解決方法

const data = {
  "person": {
      "first_name": "Aminul",
      "last_name": "Islam"
  }
}

data["full_name"] = `${data.person.first_name} ${data.person.last_name}`
module.exports = data

並導入

const person = require('./app.js');

console.log(person.full_name);

JSON和Node.js根本不能那樣工作。

要獲得這種效果,您需要遵循以下步驟:

  1. 使用fs.readFile類的fs.readFile讀取原始JSON數據
  2. 通過模板引擎傳遞結果
  3. 通過JSON.parse傳遞模板引擎的輸出。

這是因為JSON不支持使用{$person.first_name} 它將其視為字符串。 JSON不會為您處理數據,而只是保存數據的一種方法。

您讀取JSON數據的方法也有些奇怪。 我實際上不知道這對您有什么幫助。 更可靠的方法如下:

var fs = require("fs");
var file = fs.readFileSync("./app.json");
var jsonData = JSON.parse(file);
var person = jsonData.person;
console.log(person.first_name + " " + person.last_name);

您已經定義了數據,無需使用重復的數據來擴展JS文件的內容(即使它是另一種格式)。

如果您確實需要這種格式,請在創建JSON時生成該數據。 如果您已經插入了該信息,那么僅是添加具有該格式的變量的第一步。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM