Maison >Java >javaDidacticiel >Comment comparer des objets JSON sans tenir compte de l'ordre des enfants en Java ?

Comment comparer des objets JSON sans tenir compte de l'ordre des enfants en Java ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-08 09:40:02937parcourir

How to Compare JSON Objects without Regarding Child Order in Java?

Comparaison d'objets JSON en Java sans tenir compte de l'ordre des enfants

Lors du test unitaire des réponses JSON des services Web, l'analyse des bibliothèques qui comparent les objets JSON tout en ignorer l'ordre des enfants peut être inestimable.

Solution : JSONAssert de Skyscreamer

La bibliothèque JSONAssert de Skyscreamer fournit une solution. Son mode "non strict" permet :

  • Extensibilité de l'objet : la valeur attendue {id:1} correspond à {id:1,moredata:'x'}.
  • Ordre des tableaux lâche : ['dog','cat'] est égal à ['cat','dog'].

En mode strict, JSONAssert fonctionne de la même manière que la classe de test de json-lib.

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); // "false" for non-strict mode
}</code>

Fonctionnalités supplémentaires

  • Effacer les messages d'erreur lors de la comparaison de gros objets JSON
  • Fournit les deux modes de comparaison non stricts et stricts

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