Учитывая список Json и список XML, как удалить поля в JSon, которые имеют значение NULL и отсутствуют в списке XML, и соJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Учитывая список Json и список XML, как удалить поля в JSon, которые имеют значение NULL и отсутствуют в списке XML, и со

Сообщение Anonymous »

Код: Выделить всё

parsedJsonChildData (original data): [{date=null, feeForPerformance=null, feeFrequency=5}, {date=12-25-2024, feeForPerformance=23, feeFrequency=1}, {date=12-03-2025, feeForPerformance=1, feeFrequency=5}]

parsedXmlChildData (original data): [{date=null, feeFrequency=5}, {date=12-25-2024, feeForPerformance=23, feeFrequency=1}, {date=12-03-2025, feeForPerformance=1, feeFrequency=5}]
В первом индексе parsedJsonChildData FeForPerformance=null следует удалить, поскольку он недоступен в parsedXmlChildData , критерием является то, что поле имеет значение NULL в parsedJsonChildData и не присутствует в parsedXmlChildData, его следует удалить из Json.
Я пытался создайте код, но я все равно получаю тот же результат

Код: Выделить всё

public static List cleanJsonData(List parsedJsonChildData, List parsedXmlChildData) {
List modifiedParsedJsonChildData = new ArrayList();

// Iterate over each index in the JSON and XML lists
for (int i = 0; i < parsedJsonChildData.size(); i++) {
Map jsonObject = parsedJsonChildData.get(i);
Map xmlObject = parsedXmlChildData.get(i);

// Create a new map to hold the cleaned JSON object
Map cleanedJsonObject = new HashMap(jsonObject);

// Iterate over the entries in the JSON object
Iterator iterator = cleanedJsonObject.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry entry = iterator.next();
String jsonField = entry.getKey();
Object jsonValue = entry.getValue();

// If the field is null in JSON and is missing in XML, remove it from JSON
if (jsonValue == null && !xmlObject.containsKey(jsonField)) {
iterator.remove(); // Remove the field from the copied JSON
System.out.println("Removed field from JSON: " + jsonField); // Log the removal
}
}

// Add the cleaned JSON object to the modified list
modifiedParsedJsonChildData.add(cleanedJsonObject);
}

return modifiedParsedJsonChildData; // Return the cleaned JSON data only
}
Выход:

Код: Выделить всё

modifiedParsedJsonChildData (after cleaning): [{date=null, feeForPerformance=null, feeFrequency=5}, {date=12-25-2024, feeForPerformance=23, feeFrequency=1}, {date=12-03-2025, feeForPerformance=1, feeFrequency=5}]
Все по-прежнему

Подробнее здесь: https://stackoverflow.com/questions/792 ... ich-are-nu
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»