检查json中是否存在名称

时间:2014-07-25 12:08:08

标签: jquery json

我想检查json文件的内容中是否有名称“Collection”。如果是这样,如果不存在那样做。有几个JSON文件存在,所以我将显示一个名称在其中,一个没有。

我无法弄清楚在我的jQuery函数中检查的最佳方法是什么。

JSON

// name collection is present //
{
  collection: {
      image: {},
      products: {
      }, //etc
   }
 }

JSON

// name collection is not present //
{
  catalog (or textpage): {
      image: {},
      content: {
      }, //etc
   }
 }

我尝试做的是这样的事情:

function widget(catId, catHref){   
  var url = catHref;

 $.getJSON(url, function(json) {

    if (collection == true) {
      console.log('Yes products');
      // build some html
    }else {
      console.log('No sir no products');
      // build other html
    } etc...

我尝试过'hasProperty'或'TypeOf'或'undefined'等等。但绝对没有运气。我完全坚持这个。这不是很难吗?

任何?

3 个答案:

答案 0 :(得分:3)

if (json["collection"]) { ... }

或者

if (json.collection) { ... }

您可能希望明确检查undefined和/或null,例如,

if (json.collection !== undefined) { ... }

如果可以false发送,则可以防止病态JSON。

答案 1 :(得分:0)

你试过吗

if (json["collection"]) {}

if (json.collection) {}

if ("collection" in json) {}

答案 2 :(得分:0)

试试这个,

if(YourJson.hasOwnProperty('collection')){

}

您可以找到详细信息here