2015-03-25 114 views
0

我有一個字段名稱的JSON,我不知道它的確切名稱。我知道他們包含BodyHeader(現在就是這樣)。每個字段都包含一個JSONObject如何從部分字段名稱的JSON中獲取值

通過使用字符串HeaderBody獲得JSONObject的最有效方法是什麼?

我的想法是用keyIterator()併爲每個鍵遍歷JSON密鑰(這是一個String),以檢查其中是否包含了部分名稱:

iterator.next().contains("Header") 

回答

1

將有不是通過循環沒有更有效的方法他們全部並應用您的自定義測試。如果你正在尋找"header""body",你至少可以使用相同的迭代器。

即使json庫支持這種搜索方法,這可能會是下面會發生的事情,因爲沒有簡單的方法可以讓它們更快地查找。

如果這是startsWith,您可以讓它們按字母順序排序,並且查找速度更快。當然,排序它們的行爲是昂貴的部分,所以如果你做了很多查找,它纔有意義。

很難決定哪個「最高效」,因此請使用簡單的循環,然後對整個應用程序進行配置並找出最佳的工作方式以提高速度。

相關問題