我有一个带有字段名称的JSON,我不知道它的确切名称。我知道它们包含Body
和Header
(现在就是它)。每个字段都包含JSONObject
。
使用字符串JSONObject
和Header
获取Body
的最有效方法是什么?
我的想法是使用keyIterator()
和每个密钥(这是String
)迭代json密钥,以检查它是否包含部分名称:
iterator.next().contains("Header")
答案 0 :(得分:1)
没有比循环遍历所有并应用自定义测试更有效的方法。如果您正在寻找"header"
和"body"
,则至少可以使用相同的迭代器。
即使json库支持这种搜索方法,这可能会在下面发生,因为没有简单的方法来命令它们更快地查找。
如果这是startsWith
,您可以按字母顺序排序,并且可以更快地进行查找。当然,对它们进行排序的行为是昂贵的部分,因此只有在进行多次查找时才有意义。
很难确定哪个是最有效的",所以选择简单的循环,然后分析整个应用程序,找出最好的努力来提高速度。