【发布时间】:2017-07-21 12:41:28
【问题描述】:
node 和 express 的新手 我正在从 html-form 获取用户输入并尝试将其 追加或推送 到 .json 文件中。 我使用了 jsonfile npm-package,但它不是以 json 数组格式出现的
附加代码-
var express = require('express');
var app = express();
//jade --> ejs -->html
app.engine('html', require('ejs').renderFile);
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'html');
var jsonfile = require('jsonfile');
var file = './userdata.json'
//trying to write via form to json
app.post('/gettingdata', function(req, res) {
var user_id = req.body.usrid;
var token = req.body.usrphone;
var geo = req.body.usrdata;
//start writing
var obj = { name: user_id , phone: token, adress: geo }
jsonfile.writeFileSync(file, obj, {flag: 'a'});
//default
//res.send(user_id + ' ' + token + ' ' + geo);
});
html -
<body>
<form action="/gettingdata" method="post">
Name:<input type="text" name="usrid" /><br>
Phone:<input type="text" name="usrphone" /><br>
RData:<input type=="text" name="usrdata" /><br>
<input type="submit" value="Submit" >
</form>
</body>
json 显示为-
{"name":"name1","phone":"8989898989","adress":"random1"}
{"name":"name1","phone":"767656568","adress":"randomdata1"}
{"name":"name1","phone":"767656568","adress":"randomdata1"}
对象之间没有逗号,也没有方括号。我需要它们能够使解析成为可能,以便稍后我可以从前端动态编辑和删除数据。 建议任何链接,方法或 npm 包这样做。如果问题重复,也分享该链接
【问题讨论】:
-
嗨,欢迎来到 Stack Overflow!作为旁注,尽量避免
*Sync函数的变体并学习异步模式;它会在你以后的 JavaScript/node 职业生涯中非常好为你服务。 -
Sandeep,我用一些代码添加了一个新答案。
标签: javascript json node.js express push