我有一个函数,用于检查请求是否有任何查询,并基于此做出不同的操作。目前,我有if(query)
做这个别的东西。但是,似乎没有查询数据时,我最终得到了一个{}
JSON对象。因此,我需要用if(query.isEmpty())
或其他类似的东西来代替if(query)
。任何人都可以解释我如何能够在NodeJS中做这件事吗? V8 JSON对象是否具有此类功能?如何检查NodeJS中的JSON是否为空?
回答
可以使用任一这些功能:
// This should work in node.js and other ES5 compliant implementations.
function isEmptyObject(obj) {
return !Object.keys(obj).length;
}
// This should work both there and elsewhere.
function isEmptyObject(obj) {
for (var key in obj) {
if (Object.prototype.hasOwnProperty.call(obj, key)) {
return false;
}
}
return true;
}
实例:
if (isEmptyObject(query)) {
// There are no queries.
} else {
// There is at least one query,
// or at least the query object is not empty.
}
不错...第二个在节点中运行良好...虽然没有尝试第一个,但 – Nav 2013-05-27 09:46:46
可以使用此:
var isEmpty = function(obj) {
return Object.keys(obj).length === 0;
}
或该:
function isEmpty(obj) {
return !Object.keys(obj).length > 0;
}
您也可以使用此:
function isEmpty(obj) {
for(var prop in obj) {
if(obj.hasOwnProperty(prop))
return false;
}
return true;
}
如果使用underscore或jQuery,你可以用自己的isEmpty
或isEmptyObject
电话。
在游戏后期,但我使用了另一种我更喜欢的方式,即使它不是“正确的”解决方案。
JSON.stringify(obj) === '{}'
我知道这种做法可能会得到不好的评论,因为我假设空对象的该字符串表示是{}
(什么,如果它是{ }
) - 但我觉得它更容易这样,没有一个功能,它似乎为我工作得很好。
有许多原因,这不是一个很好的解决方案,包括性能,以及对象可以被串化的各种方式例如,使用属性对错误进行字符串化。 – 2014-07-31 12:32:55
@DaveNewton,,我同意这不是一个很好的解决方案。我在我的回答中表明了这一点。我不同意Error的例子,因为Object.keys(obj).length === 0'也会返回空,所以在这种情况下,这个解决方案仍然是正确的。 – 2014-08-01 07:16:54
- 1. 检查PL/JSON中的JSON对象是否为空或空
- 2. 如何检查PHP中的JSON对象是否为空?
- 3. Android检查JSON响应是否为空
- 4. 检查是否JSON值为空
- 5. 检查JSON密钥是否为空
- 6. Swift - 如何检查TableView是否为空
- 7. 如何检查FormData是否为空?
- 8. ASP.NET [如何检查SqlDataSource1是否为空]
- 9. 如何检查plist是否为空
- 10. 如何检查textarea是否为空?
- 11. 如何检查是否PasswordFor为空
- 12. 如何检查队列是否为空?
- 13. 如何检查externalptr是否为空R
- 14. 如何检查TextView是否为空?
- 15. 如何检查数组是否为空?
- 16. 如何检查JComboBox是否为空?
- 17. 如何检查矩阵是否为空
- 18. 如何检查堆栈是否为空
- 19. 如何检查WordprocessingDocument是否为空?
- 20. 如何检查jQuery datepicker是否为空?
- 21. 如何检查userDefault是否为空?
- 22. AS3如何检查BitmapData是否为空
- 23. 如何检查数组是否为空?
- 24. 如何检查下拉是否为空
- 25. 如何检查corba :: WString是否为空?
- 26. 如何检查是否返回为空?
- 27. 如何检查数组是否为空
- 28. 如何检查UITableViewCells是否为空
- 29. 我如何检查imageview是否为空
- 30. 如何检查UIImage是否为空?
不会'if(0
MilkyWayJoe
2012-07-14 03:39:05
naaa,query.length ==未定义。长度在Array对象中是标准的,而不是JSON对象。 – thisissami 2012-07-14 04:10:50