我正在尝试在一个简单的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}
答案 0 :(得分:1)
在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);
答案 1 :(得分:0)
JSON和Node.js根本不能那样工作。
要获得这种效果,您需要遵循以下原则:
fs.readFile
之类的内容读取原始JSON数据JSON.parse
传递模板引擎的输出。答案 2 :(得分:0)
这是因为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时生成该数据。如果您已经插入了该信息,那么再添加具有该格式的变量只是一个步骤。