JsonArray-示例:

[{
    "name": "table",
    "type": "table",
    "reportId": 7,
    "componentId": 12,
    "width": 0,
    "height": 0,
    "dataType": "DEFAULT"
  },
  {
    "name": "chart",
    "type": "chart",
    "reportId": 7,
    "componentId": 13,
    "width": 0,
    "height": 0,
    "dataType": "DEFAULT"
  }
]


我必须用Key(name,type)搜索JsonObject,如果jsonObject存在并且想要从数组中更新或删除jsonObject的键。

**正常解决方案:**分别迭代每个JsonObject,查找密钥并执行操作。

附言我想用Java而不是javascript编写所有这些逻辑。

最佳答案

您的解决方案很好(n个复杂度)。我看到的优化的唯一方法是对列表进行排序(如果从数据库中加载,则按名称和类型对其进行排序,而不是在Java中对其进行排序),以便您知道何时停止搜索才能到达列表的末尾。我不确定二进制搜索算法是否对两个键值有意义。

关于java - 如何以有效的方式在JsonArray中搜索和更新JsonObject?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1950996/

10-13 03:39