2017-09-04 104 views
1

我有一個JSON對象,它具有我解析的正文部分。但是,身體可以有一些基於API運行的潛在結果。我可以接受在體內是這樣的:如何驗證動態JSON對象

body: '{"OrderNumber":"123123123","ExtraInfo":[]}' 

或者是這樣的:

body: '{"error":"Something went wrong"}' } 

當我分析我的對象我這樣做var temp=JSON.parse(object.body)。我如何驗證我獲得的身體類型 - 意思是它的body.OrderNumber還是body.error?我需要確定身體的內容,以確定我的下一步。

感謝您的幫助!

+1

檢查是否'body.error'是不確定的。如果未定義,那麼你有一個非錯誤的迴應。否則,它是一個錯誤。 –

回答

1

function test(object) { 
 
    var temp=JSON.parse(object.body); 
 
    if (temp.error) { 
 
    console.log(temp.error); // display error message 
 
    } else { 
 
    console.log("Success"); 
 
    console.log(temp.OrderNumber); // display result 
 
    } 
 
} 
 

 
var object1 = {'body': '{"OrderNumber":"123123123","ExtraInfo":[]}'} 
 
var object2 = {'body': '{"error":"Something went wrong"}'} 
 

 
test(object1); 
 
test(object2);

1

您可以使用hasOwnProperty的方法來檢查,如果該屬性是提供給一個對象或不 -

if(temp.hasOwnProperty('error')) { 
// Show error 
} 
else if(temp.hasOwnProperty('OrderNumber')) { 
// Show something 
} 
else { 
// Show what you want 
} 
+0

嘿,你是第一個回覆的人,但是你給了我一些我更喜歡的東西之後,那個人。我希望你會滿意,至少用upvote :)抱歉:( –

0
if(body.error) { 
    //logic if error is not defined 
} else { 
    //your logic if there is error in body 
}