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/