如何验证动态JSON对象

时间:2017-09-04 19:25:37

标签: javascript json

我有一个JSON对象,它有一个我解析的正文部分。但是,根据API运行,主体可能会有一些潜在的结果。我可以在体内收到这样的东西:

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

或类似的东西:

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

当我解析我的对象时,我做var temp=JSON.parse(object.body)。如何验证我获得了哪种类型的身体 - 这意味着它是body.OrderNumber还是body.error?我需要识别身体的内容,以确定我的下一步。

感谢您的帮助!

3 个答案:

答案 0 :(得分:1)

您可以使用hasOwnProperty方法检查属性是否可用于对象 -

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

答案 1 :(得分: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);

答案 2 :(得分:0)

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