2013-09-30 60 views
0

對不起noob問題。如何在JSON中同時檢查是否存在響應及其子節點?

我有一個JSON響應,有時會返回不同的響應,我需要檢查一種類型的可能響應的子節點的內容。現在我有一個嵌套的條件,有沒有什麼辦法可以進一步簡化呢?

if("FooResponse" in rsp){ 
    if(rsp.FooResponse.code === 0){ 
    // do something; 
    } 
} 

我不知道是否有一種方法可以同時對一個節點及其子節點的存在檢查,而不必做了兩級條件檢查?

+2

參見[邏輯運算符在JavaScript(https://developer.mozilla.org/en-US/docs/Web你可以做/ JavaScript/Reference/Operators/Logical_Operators) – Boaz

回答

2

if(rsp.FooResponse && rsp.FooResponse.code === 0){ 
+0

真的嗎?如果'rsp.FooResponse'未定義,那麼'.code'是否會引發錯誤? – Blaise

+0

對,這就是爲什麼首先需要兩級檢查的原因。 – 2013-09-30 15:04:58

+1

@Blaise不,它不會拋出一個錯誤:第二個測試只有在第一個測試通過時纔會執行。 –

0

可以根本就利用

if(!!rsp.FooResponse && !!rsp.FooResponse.code && rsp.FooResponse.code === 0) 
相關問題