如何检查此javascript对象?
如何检查对象中是否存在“MessageId”?(没有抛出错误)如何检查此javascript对象?,javascript,json,node.js,Javascript,Json,Node.js,如何检查对象中是否存在“MessageId”?(没有抛出错误) 我可能会返回其他json对象,我需要知道我得到的对象是否有一个“MessageId”。假设您在一个名为result的变量中得到结果,您应该能够使用一个简单的if语句来实现这一点(考虑到javascript if语句短路: { "@": { "xmlns": "http://ses.amazonaws.com/doc/2010-12-01/" }, "SendEmailResult": {
我可能会返回其他json对象,我需要知道我得到的对象是否有一个“MessageId”。假设您在一个名为result的变量中得到结果,您应该能够使用一个简单的if语句来实现这一点(考虑到javascript if语句短路:
{
"@": {
"xmlns": "http://ses.amazonaws.com/doc/2010-12-01/"
},
"SendEmailResult": {
"MessageId": "0000012fdd10caaf-021c6e9e-e872-4b35-ad94-1d11c79a6324-000000"
},
"ResponseMetadata": {
"RequestId": "736d5bb2-7b7d-11e0-b435-f7b0c9315f0d"
}
}
假设您在一个名为result的变量中得到结果,您应该能够通过一个简单的if语句来实现这一点(考虑到javascript if语句短路:
{
"@": {
"xmlns": "http://ses.amazonaws.com/doc/2010-12-01/"
},
"SendEmailResult": {
"MessageId": "0000012fdd10caaf-021c6e9e-e872-4b35-ad94-1d11c79a6324-000000"
},
"ResponseMetadata": {
"RequestId": "736d5bb2-7b7d-11e0-b435-f7b0c9315f0d"
}
}
假设您在
obj
中有对它的引用,则:
if (result && result["SendEmailResult"] && result["SendEmailResult"]["MessageId"]) {
//execute your code
}
也许更有用,不过:
if (obj && obj.SendEmailResult && "MessageId" in obj.SendEmailResult) {
// The "MessageId" property exists in `obj.SendEmailResult`
}
JavaScript和运算符&
比其他一些语言更有用,如果两个操作数都是“truthy”(而不是像大多数语言那样只返回true
/false
结果),“truthy”值不是“falsy”(很明显)。“falsy”值为false
,未定义
,null
,“
,和0
因此,上面的内容基本上是“将msgid
设置为obj.sendmailresult.MessageId
,前提是obj
和obj.SomeEmailResult
都存在
(操作符是。)假设您在
obj
中有一个引用,那么:
if (result && result["SendEmailResult"] && result["SendEmailResult"]["MessageId"]) {
//execute your code
}
也许更有用,不过:
if (obj && obj.SendEmailResult && "MessageId" in obj.SendEmailResult) {
// The "MessageId" property exists in `obj.SendEmailResult`
}
JavaScript和运算符&&
比其他一些语言更有用,如果它的两个操作数都是“truthy”(而不是像大多数语言那样只返回true
/false
结果),“truthy”值不是“falsy”(显然)。“falsy”“值为false
,未定义
,null
,”
和0
因此,上面的内容基本上是“将msgid
设置为obj.sendmailresult.MessageId
,前提是obj
和obj.SomeEmailResult
都存在
(操作符是。)+1使用
obj.sendmailrequest.hasOwnProperty('MessageId')
来保护不受攻击怎么样?@alex:当然,如果合适的话。99%的时候,你不在乎,你只想要这个属性——不管它来自哪里。:-)(并且您希望远离任何扩展Object.property
)J的代码。应该向这样做的人介绍给那些为undefined
+1指定不同值的人,使用obj.sendmailrequest.hasOwnProperty('MessageId')怎么样
为了保护对象免受攻击?@alex:当然,如果合适的话。99%的时候,你不在乎,你只想要属性——不管它来自哪里。:-(你想运行得很远,远离任何扩展Object.property
)的代码。应该把这样做的人介绍给那些为未定义的指定不同值的人。