2015-03-25 119 views
0

我有一个字段名称的JSON,我不知道它的确切名称。我知道他们包含BodyHeader(现在就是这样)。每个字段都包含一个JSONObject如何从部分字段名称的JSON中获取值

通过使用字符串HeaderBody获得JSONObject的最有效方法是什么?

我的想法是用keyIterator()并为每个键遍历JSON密钥(这是一个String),以检查其中是否包含了部分名称:

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

回答

1

将有不是通过循环没有更有效的方法他们全部并应用您的自定义测试。如果你正在寻找"header""body",你至少可以使用相同的迭代器。

即使json库支持这种搜索方法,这可能会是下面会发生的事情,因为没有简单的方法可以让它们更快地查找。

如果这是startsWith,您可以让它们按字母顺序排序,并且查找速度更快。当然,排序它们的行为是昂贵的部分,所以如果你做了很多查找,它才有意义。

很难决定哪个“最高效”,因此请使用简单的循环,然后对整个应用程序进行配置并找出最佳的工作方式以提高速度。

相关问题