2017-05-08 211 views
0

例如說,如果我有一個3級深JavaScript對象如何在JavaScript中檢查嵌套對象中是否存在空對象?

{CONN_INFO: {CFGSwitch: {412: {}}}} 

我怎麼能寫,確定它是否是嵌套函數? 其次,我怎麼能那麼空對象{}轉換爲字符串,如"{}"

+1

如果您確實是指JSON,那麼您的語法不正確。 JSON要求所有屬性名稱都在「雙引號」內。 – Manngo

+0

'{}'不是'null'值。這是一個空洞的對象。如果你提醒({} == null),你將會得到'false'。 – Manngo

+0

對不起,謝謝。我已經更新了原件。 – tchan

回答

1

我怎麼能寫,確定它是否是嵌套函數?

對於當前對象的所有密鑰,檢查它的類型,如果JSON然後嵌套存在。

其次,我怎樣才能將空對象{​​}轉換爲字符串,如「{}」?

如果遇到一個嵌套JSON對象,檢查是否使用Object.keys(currentJSONObj)。長度其密鑰長度,如果0,則這是一個空JSON。因此,重新分配「{}」到首先有空JSON對象的鍵。

+0

我必須爲第二部分使用遞歸函數嗎?任何想法如何我可以寫它?我現在有一個函數來檢查嵌套的深度。 – tchan

+0

是的..遞歸函數就是答案。爲對象中的每個鍵調用它,如果該鍵的值再次爲JSON,則重複! –

0

迭代和檢查Object.keys(current_obj).length