2015-07-09 56 views
1

我想要查找給定鍵的JSON中是否存在鍵值對。這個鍵值對可能不在根目錄下。它可能嵌入到文檔中。例如:使用JAVA在JSON中有效查找鍵值

{"Persons":[ 
    {"Person": 
    {"name":"john"} 
    }] 
} 

我想要類似JsonDoc.has(「name」),並返回true。 我在網上搜索,發現這個線程:Java: Json has key/field

兩個答案(最小,JSON和org.json)都已經運作的一些所謂的有()或get()方法,但我看着他們的源代碼,它們都試圖找到根下的鍵值。所以他們不符合我的需求。

我可以想到遍歷整個JSON並嘗試找到鍵值,但它似乎效率不高。

+4

你怎麼能指望搜索整個樹,而無需搜索整個樹(運行它)? – ikegami

+0

所以...我正在尋找一個好的算法,或者已經爲我實現了一些算法的庫。希望稍後一個... – mattsun

+0

使用[Gson](https://github.com/google/gson) – par

回答