我正在寻找一种方法来格式化json,我将其从发布表单转换为更简单的方式来解析nodejs。表单将正确收集数据,但我希望每行都有一个标识符。
我想知道是否可以从表单帖子创建一个类似于我想在底部输出的json输出。或者有一个更简单的解决方案吗?
<form class="form-horizontal" action="test" method="get">
<% for( obj in data) { console.log(obj); %>
<div class="row">
<div class="form-group">
<label for="<%=data[obj].date%>" class="col-sm-3 control-label"><%=data[obj].day%> <%=data[obj].date%></label>
<div class="col-sm-4">
<% if(data[obj].dayNumber == 0 || data[obj].dayNumber == 6) { %>
<input type="number" class="form-control" id="<%=data[obj].date%>" name="date" value="" style="background-color: grey">
<% } else { %>
<input type="number" class="form-control" id="<%=data[obj].date%>" name="date" value="">
<% } %>
<input type="hidden" value="<%=data[obj].month%>" name="date" />
<input type="hidden" value="<%=data[obj].date%>" name="date" />
<input type="hidden" value="<%=data[obj].username%>" name="date" />
</div>
</div>
</div>
<% } %>
<div class="col-sm-2">
<button type="submit" class="btn btn-primary btn-lg">Spara</button>
</div>
</form>
/ test route将生成以下输出。
app.get("/test", function(req, res) {
var info = req.query.date;
console.log(util.inspect(info, { showHidden: false, depth: null }))
res.send("Done");
});
输出
[ '3',
'2017-08',
'2017-08-01',
'xxxx',
'4',
'2017-08',
'2017-08-02',
'xxxx' ]
但是我想输出像
这样的东西{"report": {
"2017-08-01": {
"hours": 1,
"month": "2017-08",
"date": "2017-08-01,
"username": "xxxx"
},
"2017-08-02": {
"hours": 1,
"month": "2017-08",
"date": "2017-08-02,
"username": "xxxx"
},
}}