>Java >java지도 시간 >하위 순서를 고려하지 않고 Java에서 JSON 객체를 비교하는 방법은 무엇입니까?

하위 순서를 고려하지 않고 Java에서 JSON 객체를 비교하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-05 03:23:02314검색

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

Java에서 하위 순서를 고려하지 않고 JSON 개체 비교

웹 서비스에서 JSON 응답을 단위 테스트하려면 JSON 개체를 비교해야 하는 경우가 많습니다. 그러나 org.json과 같은 표준 라이브러리는 참조 비교를 수행하며 하위 개체의 순서가 다른 경우 실패합니다.

해결책: JSONAssert 라이브러리

Skyscreamer의 JSONAssert 라이브러리는 다음을 제공합니다. JSON 개체를 비교하기 위한 강력한 솔루션입니다. 비엄격 모드는 다음을 통해 유연성을 제공합니다.

  • 객체 확장성 허용: 예상 값 {id:1}이 실제 값 {id:1,moredata:'x'}
  • 과 일치합니다. 느슨한 배열 순서 무시: ['dog','cat']는 ['cat','dog']

사용 예:

<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>

JSONAssert의 명확한 실패 메시지는 특히 대규모 JSON 개체의 경우 효율적인 디버깅을 촉진합니다.

위 내용은 하위 순서를 고려하지 않고 Java에서 JSON 객체를 비교하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.