Javascript 如何将属性从JSON文件获取到EJS文件?
我有一个JSON文件,用作名为data.JSON的数据库Javascript 如何将属性从JSON文件获取到EJS文件?,javascript,node.js,json,api,ejs,Javascript,Node.js,Json,Api,Ejs,我有一个JSON文件,用作名为data.JSON的数据库 { "car": { "quantity": 2, "price": 100 } 我在node.js上有一个名为app.js的代码 var data = fs.readFileSync("data.json"); var jData = JSON.parse(data); // console.log(jData); ////////ROUTE
{
"car": {
"quantity": 2,
"price": 100
}
我在node.js上有一个名为app.js的代码
var data = fs.readFileSync("data.json");
var jData = JSON.parse(data);
// console.log(jData);
////////ROUTES///////////
app.get("/", home);
// New item create path
app.get("/new/:id/:quantity/:price?", newItem);
function newItem(req, res){
var itemData = req.params;
////// shows :id as name
var newName = itemData.id;
////// shows :price as price
var newPrice = Number(itemData.price);
var newQuantity = Number(itemData.quantity);
var reply;
//// Object created
function ItemObj(quantity, price) {
this.quantity = quantity;
this.price = price;
}
///// Assing attributes to object
var createItem = new ItemObj(newQuantity, newPrice);
// print stuff
res.send("This new " + newName + " has been added! and it costs " +
newPrice);
////// If prices is not set
if(!newPrice){
reply = ("price is required")
//////////then---->
} else {
jData[newName] = createItem;
var stringData = JSON.stringify(jData, null, 2);
fs.writeFile("data.json", stringData, finished);
function finished(err, info){
console.log("updated");
}
res.render("index", {jData: jData})
}
然后我有一个名为index.EJS的EJS代码,当我尝试将JSON数据库(jData)传递给EJS以显示它们的值时,我会收到一个错误,说“jData未定义”
你好,兄弟
我在哪里犯了错误?如何在index.ejs文件上显示json文件?谢谢 将JSON文件导入到需要数据的文件中,然后必须对其进行解析:
const noParsedData = { "car": { "quantity": 2, "price": 100 } }
const parsedData = JSON.parse(noParsedData)
这样做时,结果日期应该是一个对象。现在,您可以在文件中使用该对象的键和值
注意:它也适用于阵列。以防其他人怀疑。我可以通过将jData数据库设置为node.js(app.js)中的一个变量来修复错误: 然后,我不得不在EJS文件(index.EJS)上使用stringify()修改JSON文件:
const noParsedData = { "car": { "quantity": 2, "price": 100 } }
const parsedData = JSON.parse(noParsedData)
var db = jData;
res.render("index", {exampleVar: db});
<h1> Price of item: <%=
JSON.stringify(exampleVar["car"]["price"]) %> </h1>
Price of item: 100