Bonjour,
j'ai une liste auquel j'ai des éléments à null, et je souhaite les supprimé, mais je n'arrive pas les supprimé :

Code java : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
List<String> typeMoyCom = Arrays.asList("portable", "fixe", "tel_secours", "email_secours");
 
        List<JsonNode> listeNoeud;
        for (String type : this.typeMoyCom) {
            JsonNode champ = this.noeudCourant.get(type);
            if (champ != null) {
 
                System.out.println(champ);
 
            }
 
        }

ma listeNoeud est juste là pour charger les éléments non null.

voici le résultat de la console:

Code console : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
{"phone":"dsf"}
{"phone":"fsdfds"}
null

voici ce que contient le noeud courant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
{"portable":{"phone":"dsf"},"fixe":{"phone":"fsdfds"},"tel_sercours":null,"email_secours":null}
voici monJson qu'il recoit

Code console : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
 "FCmoyCom": {
    "portable": {
      "phone": "dsf"
    },
    "fixe": {
      "phone": "fsdfds"
    },
    "tel_sercours": null,
    "email_secours": null
  }

comment je dois faire que je supprime correctement les éléments noeud qui ne continne null à mon json.

merci de vos réponses.

finalement j'ai trouvé une méthode qui va bien

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
        for (String type : this.typeMoyCom) {
            this.getValueAsList(type, this.noeudCourant);
        }
 
    }
 
    protected List<String> getValueAsList(String name, JsonNode objectNode) {
        List<String> resultList = typeMoyCom;
        JsonNode valuesNode = objectNode.get(name);
        if (valuesNode != null) {
            for (JsonNode valueNode : valuesNode) {
                System.out.println(valueNode);
                System.out.println(name); 
            }
        }
        return resultList;
    }