Maison >Java >javaDidacticiel >Comment comparer des objets JSON en Java sans considérations d'ordre enfant ?

Comment comparer des objets JSON en Java sans considérations d'ordre enfant ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-05 03:23:02314parcourir

How to Compare JSON Objects in Java Without Child Order Considerations?

Comparaison d'objets JSON sans considérations d'ordre enfant en Java

Les tests unitaires des réponses JSON des services Web nécessitent souvent de comparer des objets JSON. Cependant, les bibliothèques standards comme org.json effectuent des comparaisons de références, qui échouent si les objets enfants sont dans des ordres différents.

Solution : Bibliothèque JSONAssert

La bibliothèque JSONAssert de Skyscreamer propose un solution robuste pour comparer les objets JSON. Son mode non strict offre de la flexibilité en :

  • Autoriser l'extensibilité des objets : la valeur attendue {id:1} correspondra à la valeur réelle {id:1,moredata:'x'}
  • Ignorer l'ordre des tableaux lâche : ['dog','cat'] sera égal à ['cat','dog']

Exemple d'utilisation :

<code class="java">@Test
public void testGetFriends() {
    JSONObject data = getRESTData("/friends/367.json");
    String expected = "{friends:[{id:123,name:\"Corby Page\"}"
        + ",{id:456,name:\"Solomon Duskis\"}]}";
    JSONAssert.assertEquals(expected, data, false);
}</code>

Les messages d'échec clairs de JSONAssert facilitent un débogage efficace, en particulier pour les objets JSON volumineux.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn