Как избежать квадратных скобок в JSONPath?Как избежать [] в jsonPath
.andExpect(jsonPath("$.fieldErrors.addresses[0].contactAddress1", Matchers.any(String.class)))
не соответствует, даже если JSON существует, и я думаю, что это из-за квадратные скобки.
"{\"errors\":[],\"fieldErrors\":{\"adminName\":\"Admin Name is a required field\",\"addresses[0].contactCompany\":\"Company is a required field\",\"addresses[0].contactAddress1\":\"Address is a required field\",\"addresses[0].contactPhoneNumber\":\"Phone Number cannot exceed 25 characters\"},\"uiMessageClass\":null,\"uiMessage\":null,\"redirectUrl\":null,\"object\":null}"
Есть ли способ избежать скобки?
Hi Sam Я просто попытался это на другом методе испытания с аналогичными свойствами. Но я получил эту ошибку: 'java.lang.AssertionError: JSON path" $ .fieldErrors ['labels [en]'] " Ожидаемое: экземпляр java.lang.String , но: <{}> - это java.util.LinkedHashMap \t в org.hamcrest.MatcherAssert.assertThat (MatcherAssert.java:20) \t в org.springframework.test.util.JsonPathExpectationsHelper.assertValue' –
это выход JSON: 'testUpdateShippingMethod_CreateNew_InvalidInput - "{\" ошибки \": [], \ "fieldErrors \": {\ "labels [en] \": \ "Ярлык - обязательное поле \", \ "externalIdentifier \": \ "Идентификатор - обязательное поле \"}, \ "uiMessageClass \ ": null, \" uiMessage \ ": null, \" redirectUrl \ ": null, \" object \ ": null}" 13: 02: 13.426 TRACE com.ocscommerce.admin.tests.unit.controllers.deliveries. ShippingMethodAjaxControllerUnitTest 305 testUp dateShippingMethod_CreateNew_InvalidInput - exit' –
и совпадение: '.andExpect (jsonPath (" $. fieldErrors ['labels [en]'] ", Matchers.any (String.class))) ' –