繁体   English   中英

如何以有效的方法搜索和更新 JsonArray 中的 JsonObject?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM