Это потому, что 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.Если у вас уже есть эта информация, вставляемая в любом случае, это просто еще один шаг, чтобы добавить переменную с таким форматированием.