我想通过邮差工具发送对象列表,并在我的服务器端代码上接收它, 这是我通过postman工具发送并通过post方法接收它的json代码
{
"user1" : {
"name" : "grijan",
"prof" : "student"
},
"user2" : {
"name" : "vijay",
"prof" : "teacher"
}
}
我的服务器端代码
var express = require('express');
var app = express();
app.use(express.urlencoded({ extended: false }));
app.use(express.json());
app.post('/saveUser',function(req,res){
var obj= req.body;
console.log(obj);
//code for iteration ????
})
var server = app.listen(8008,function(){});
我需要遍历对象和对象中的字段! 仅供参考我是节点新手,这是我的第二天:)
答案 0 :(得分:1)
您不是发送列表,而是发送对象。如果你想发送一个列表,你应该发送这样的东西:
[
{
"name" : "grijan",
"prof" : "student"
},
{
"name" : "vijay",
"prof" : "teacher"
}
]
他们在节点方面:
var express = require('express');
var app = express();
app.use(express.urlencoded({ extended: false }));
app.use(express.json());
var methodToSaveInDB = function(name, prof) {
// save it here into DB
}
app.post('/saveUser',function(req,res){
var usersList = req.body;
for(var user of usersList) {
methodToSaveInDB(user.name, user.prof);
}
})
var server = app.listen(8008,function(){});
如果你需要像对象一样发送它而不是列表,你可以遍历对象属性:
for (var property in obj) {
if (obj.hasOwnProperty(property)) {
console.log(obj[property].name);
console.log(obj[property].prof);
}
}
答案 1 :(得分:0)
任何正在寻找最新的内置解决方案的人。我们可以使用 ES7 中引入的 Object.entries() 方法
const obj = { a: 5, b: 7, c: 9 };
for (const [key, value] of Object.entries(obj)) {
//you can do your operations here
console.log(`${key} ${value}`); // "a 5", "b 7", "c 9"
}
您可以在此处找到 Object.entries 的其他功能和示例enter link description here