2017-09-04 75 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 
}