如何检查javascript对象是否为空?

如何检查javascript对象是否为空?,javascript,json,Javascript,Json,我有类似这样的JSON,其中每个键都有一些值,但在对象内的另一个对象中只有一个处方,所以如果一个处方是空对象,那么我如何检查处方是否为空 var obj={ "index":"1", "Product_Id":"124", "Name":"Vincent 1", "Unit_Price":"1", "Base_Price":5, "Gross_Price":200, "Quantity":200, "Net_Price":200, "Ta

我有类似这样的JSON,其中每个键都有一些值,但在对象内的另一个对象中只有一个处方,所以如果一个处方是空对象,那么我如何检查处方是否为空

var obj={  
   "index":"1",
   "Product_Id":"124",
   "Name":"Vincent 1",
   "Unit_Price":"1",
   "Base_Price":5,
   "Gross_Price":200,
   "Quantity":200,
   "Net_Price":200,
   "Tax":200,
   "Tax_Rate":200,
   "prescription":{  

   }
}

如果您的对象名为
obj
,这将给出您想要的结果


Object.getOwnPropertyNames(obj.prescription).length>0

您可以执行
Object.keys(obj.prescription).length来检查对象是否包含任何键。

当然,对于空的obect,正如您的示例中所示,not null

您所问的问题没有任何意义,因为处方不是空的,并且永远不会出现在本示例中。它只是一个空对象。空对象和null不是一回事

您也不想简单地检查length==0,因为它在实际为true时可能返回false

Object.keys(obj.prescription).length === 0 && obj.constructor === Object;

将提供您想要的。

如何使用json对象?我的意思是你用什么来解析json对象?例如,在javascript中,可以使用以下代码:

function isEmpty(object) {
    for(var key in object) {
        if(obj.hasOwnProperty(key))
            return false;
    }
    return true;
}


你的意思是像
如果(object.prescription==null)
?正如你所说,prescription是一个空对象,而不是
null
,如果你想检查空或不空,你可以通过:
object.entries(obj).length==0&&obj.constructor==object
来完成,如果你想检查空/未定义,你可以做
(object.prescription){}
.object.prescription不是空的。它是空的。空和空不是一回事。您的检查将始终返回false。您应该始终另外检查obj.constructor==object,因为如果您执行类似于obj.prescription(new Date())的操作,则长度仍然==0。