簡體   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