Maison > Java > javaDidacticiel > le corps du texte

Comment tester l'égalité des objets JSON en ignorant l'ordre des enfants en Java ?

Susan Sarandon
Libérer: 2024-11-05 01:17:02
original
408 Les gens l'ont consulté

How to Test JSON Object Equality Ignoring Child Order in Java?

Test de l'égalité des objets JSON en ignorant l'ordre des enfants en Java

Lors des tests unitaires des réponses JSON des services Web, il est crucial de comparer les résultats pour l'égalité . Cependant, l'ordre des éléments enfants dans les objets JSON ne devrait pas affecter la comparaison. Pour relever ce défi, explorons une bibliothèque d'analyse JSON appropriée.

Solution : JSONAssert de Skyscreamer

JSONAssert de Skyscreamer propose un mode non strict qui répond à deux exigences clés :

  • Extensibilité de l'objet : Permet des champs supplémentaires dans l'objet JSON réel qui ne sont pas présents dans l'objet JSON attendu.
  • Ordre des tableaux lâche : Considère les tableaux avec différents ordres d'éléments comme égaux.

Exemple de test

<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>
Copier après la connexion

Dans cet exemple, l'objet JSON attendu spécifie un tableau d'amis avec ID 123 et 456. L'objet JSON réel peut avoir des champs supplémentaires ou un ordre différent des éléments dans le tableau. JSONAssert les considérera toujours égaux en mode non strict.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal