假設我有一個 JSON 物件串列,如下所示:
List<JSONObject> listOfJSON Objects = new ArrayList<>();
{
"key1": apple
"key2": banana
"key3": orange
}
{
"key1": melon
"key2": banana
"key3": orange
}
{
"key1": apple
"key2": grape
"key3": strawberry
}
串列中每個 JSON 物件中的所有鍵都將完全相同,甚至順序相同。我需要找到每個唯一值并將其映射到每個鍵,因此最終結果將是:
{
"key1": [apple, melon]
"key2": [banana, grape]
"key3": [strawberry, orange]
}
如果可能的話,我想在每個末尾附加每個計數,所以理想的結果是:
{
"key1": [apple (2), melon (1)]
"key2": [banana (2), grape (1)]
"key3": [strawberry (1), orange (2)]
}
uj5u.com熱心網友回復:
對于您的第一個問題,您可以使用資料模型,例如Map<String, Set>,其中鍵是 JSON 鍵,而 Set 將采用您的所有 JSON 值。重復項將被忽略,因為這就是 Set 資料模型的作業方式。然后,只需遍歷您的 JSON 物件及其屬性并填充您的 Map。
對于第二個問題,您可以使用Map<String, Map<String, Integer>. 當您迭代時,只需使用 JSON 鍵從第一個映射中獲取(或創建,如果未找到)記錄,然后通過 JSON 屬性值從內部映射中獲取(或創建,如果未找到)記錄。將存在記錄中的 Integer 加 1,否則使用值 1。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/447983.html
上一篇:Java數字金字塔
下一篇:如何填充物件矩陣
