JSON对象可能是:{name:'n', id:'1'}也可能是
{boy:{name:'n', id:'1'}}也可能是
{girl:{name:'n', id:'1'}}我如何判断是上面三种中的哪一种?
也就是说如何判断json包含了boy键或者girl键?

解决方案 »

  1.   


    alert("boy" in {boy:{name:'n', id:'1'}});
    alert("girl" in {girl:{name:'n', id:'2'}});
      

  2.   

    转化为串, 正则判断 '"xxxx":' 是否存在..
      

  3.   

    var obj = eval("("+json+")");
    if(obj.boy){
        alert("boy存在!");
    }else if(obj.girl){
        alert("girl存在");
    }else{
        alert("默认"); 
    }
      

  4.   

    var o={name:'n', id:'1'}
    if(o.name){}
      

  5.   

    if(o.body != undefined){
      ...
    }
      

  6.   

    var data = {name:'n', id:'1'}
    //var data = {boy:{name:'n', id:'1'}}
    //var data = {girl:{name:'n', id:'1'}}var json = (data.body || data.girl || data);
    alert([json.name, json.id]);