如何从具有部分字段名称的JSON获取值

时间:2015-03-25 09:50:06

标签: java json

我有一个带有字段名称的JSON,我不知道它的确切名称。我知道它们包含BodyHeader(现在就是它)。每个字段都包含JSONObject

使用字符串JSONObjectHeader获取Body的最有效方法是什么?

我的想法是使用keyIterator()和每个密钥(这是String)迭代json密钥,以检查它是否包含部分名称:

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

1 个答案:

答案 0 :(得分:1)

没有比循环遍历所有并应用自定义测试更有效的方法。如果您正在寻找"header""body",则至少可以使用相同的迭代器。

即使json库支持这种搜索方法,这可能会在下面发生,因为没有简单的方法来命令它们更快地查找。

如果这是startsWith,您可以按字母顺序排序,并且可以更快地进行查找。当然,对它们进行排序的行为是昂贵的部分,因此只有在进行多次查找时才有意义。

很难确定哪个是最有效的",所以选择简单的循环,然后分析整个应用程序,找出最好的努力来提高速度。

相关问题