Heim > Java > javaLernprogramm > Wie vergleiche ich JSON-Objekte in Java ohne Überlegungen zur untergeordneten Reihenfolge?

Wie vergleiche ich JSON-Objekte in Java ohne Überlegungen zur untergeordneten Reihenfolge?

Patricia Arquette
Freigeben: 2024-11-05 03:23:02
Original
317 Leute haben es durchsucht

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

Vergleich von JSON-Objekten ohne Überlegungen zur untergeordneten Reihenfolge in Java

Unit-Tests von JSON-Antworten von Webdiensten erfordern häufig den Vergleich von JSON-Objekten. Allerdings führen Standardbibliotheken wie org.json Referenzvergleiche durch, die fehlschlagen, wenn die untergeordneten Objekte in unterschiedlicher Reihenfolge vorliegen.

Lösung: JSONAssert-Bibliothek

Die JSONAssert-Bibliothek von Skyscreamer bietet eine Robuste Lösung zum Vergleich von JSON-Objekten. Sein nicht-strikter Modus bietet Flexibilität durch:

  • Objekterweiterbarkeit zulassen: Der erwartete Wert {id:1} stimmt mit dem tatsächlichen Wert {id:1,moredata:'x' überein🎜>
  • Ignorieren der losen Array-Reihenfolge: ['dog','cat'] entspricht ['cat','dog']

Beispielverwendung:

<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>
Nach dem Login kopieren
Die klaren Fehlermeldungen von JSONAssert ermöglichen ein effizientes Debuggen, insbesondere bei großen JSON-Objekten.

Das obige ist der detaillierte Inhalt vonWie vergleiche ich JSON-Objekte in Java ohne Überlegungen zur untergeordneten Reihenfolge?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage