[英]how to search and update JsonObject in JsonArray in an efficient approach?
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,寻找key并执行操作。
PS我想用java而不是javascript编写所有这些逻辑。
您可以使用“ LINQ for JavaScript ”库。 非常有用的图书馆。 例如。 我们可以像..
Enumerable.From(JsonArray).Where("$.componentId == 12").First().name= "tableName";
您的解决方案很好(n 复杂度)。 我看到的优化的唯一方法是对列表进行排序(我的意思是,如果从数据库加载它,则按名称和类型对其进行排序,而不是在 Java 中对其进行排序),以便您知道在访问之前知道何时停止搜索列表的末尾。 我不确定二分搜索算法对两个键值是否有意义。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.