如何检查req.body是否为空或不在节点中,表示?

以下是我的请求正文,是从客户端发送的

var credentials = { "ConsumerData": { "ConsumerStoreId": "a", "ConsumerUserId": "a" }, "CustomerData": { "CustomerId": "2345678890" }, "ErnD": { "UID": "3", "TxnDt": "1" }, "PurD": [{ "ItemCode": "3456tghw3", "ItemEANCode": "223222122" }, { "ItemCode": "8jghw3865", "ItemEANCode": "3334443222" } ] } 

为了testing我发送var credentials = {}空凭证

在服务器端控制器(节点,快递)我想检查req.body空或不

 if(!req.body) { console.log('Object missing'); } if(!req.body.ConsumerData.ConsumerStoreId) { console.log('ConsumerStoreId missing'); } if(!req.body.CustomerData.CustomerId) { console.log('CustomerId missing'); } if(!req.body.ErnD.UID) { console.log('UID missing'); } console.log('outside'); 

我正在检查一切,但alwasys只在外面打印

ES2015:

 if(req.body.constructor === Object && Object.keys(req.body).length === 0) { console.log('Object missing'); } 

PRE ES2015:

 function isEmpty(obj) { for(var prop in obj) { if(obj.hasOwnProperty(prop)) return false; } return JSON.stringify(obj) === JSON.stringify({}); } if(isEmpty(req.body)) { console.log('Object missing'); } 

es2015风格的更多方式: https : //coderwall.com/p/_g3x9q/how-to-check-if-javascript-object-is-empty

 if (Object.keys(req.body).length === 0) { // Do something }