gpt4 book ai didi

java - 如何比较两个 json 对象的字段并避免 json 数组中出现重复

转载 作者:行者123 更新时间:2023-12-02 09:55:53 26 4
gpt4 key购买 nike

嗨,我正在尝试比较两个 json 对象的字段,并且必须在 json 数组中重复。

下面是我的输入,它是两个 json 对象的 json 数组。两个 json 对象都有相同的标签,称为 Architectural ,必须避免这种情况我想使用文件名数组创建单个 json 对象,没有重复和文件大小

在json对象数组中,每个对象可能包含不同长度的name json数组

   [         {
"bucket": "vanasiri-100-98748-33434346-34545567002",
"path": "1127/1854/1/BidSet/Architectural_Drawing/",
"UpdatedBy": "100",
"fileSize": ["0"],
"name": ["Display external company list.docx"],
"tag": "Architectural",
"uploadedDate": "03-30-2019"
}, {
"bucket": "vanasiri-100-98748-33434346-34545567002",
"path": "1127/1854/1/BidSet/Architectural_Drawing/",
"UpdatedBy": "100",
"fileSize": ["0"],
"name": ["images.jfif"],
"tag": "Architectural",
"uploadedDate": "03-30-2019"
}
]

预期结果

[{
"bucket": "vanasiri-100-98748-33434346-34545567002",
"path": "1127/1854/1/BidSet/Architectural_Drawing/",
"UpdatedBy": "100",
"fileSize": ["0", "0"],
"name": ["Display external company list.docx", "images.jfif"],
"tag": "Architectural",
"uploadedDate": "03-30-2019"
}]

我怎样才能实现这个目标

最佳答案

为列表中的 JSON 对象创建一个模型类(例如 BucketData),您可以将 JSON 数组转换为模型数组列表。

应如下所示:

JSONArray jArray = (JSONArray)jsonObject; 
if (jArray != null) {
for (int i=0;i<jArray.length();i++){
listdata.add(jArray.getString(i));
}
}

然后您可以执行 Java 8 Filter 操作来过滤掉重复值,如下所示:

List listdata = listdata.stream()
.collect(Collectors.collectingAndThen(
Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(BucketData:: getTag))),
ArrayList::new));

引用自https://stackoverflow.com/a/17037364/4597596https://stackoverflow.com/a/55512294/4597596

关于java - 如何比较两个 json 对象的字段并避免 json 数组中出现重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56018018/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com