каким будет JsonPath в java для следующего json

Я провожу тест контроллера и проверяю правильность возвращаемых значений json. это мой json{ "firstName": "Bob", "lastName": "Jones", "phoneNumber": "0123456789", "jobTitle": "Software Developer", "companyName": "BFS", "industry": { "name": "legal" }, "companySize": { "noOfEmployees": "1_to_10" }, "accounts": [ { "accountName": "TestAccount1", "accountNo": "123", "accountType": "PREPAY", "creditBalance": "25.00", "creditLimit": "500.00", "concurrentSubscriptionLimit": "10", "hitsPerSubscriptionItemLimit": "20", "hourlyRequestLimit": "30" } ] }

и мой текущий тест выглядит так: mockMvc.perform(request) .andDo(MockMvcResultHandlers.print()) .andExpect(status().isCreated()) .andExpect(jsonPath("$.firstName", is("Bob"))) .andExpect(jsonPath("$.lastName", is("Jones"))) .andExpect(jsonPath("$.phoneNumber", is("0123456789"))) .andExpect(jsonPath("$.jobTitle", is("Software Developer"))) .andExpect(jsonPath("$.companyName", is("BFS"))) .andExpect(jsonPath("$.industry.name", is("legal"))) .andExpect(jsonPath("$.companySize.noOfEmployees", is("1_to_10"))) .andReturn(); }

Мои вопросы: как мне написать jsonPath для accountName в поле учетных записей? Спасибо.


person Shaun    schedule 02.04.2015    source источник
comment
Почему бы вам вместо этого не использовать JSON Pointer?   -  person fge    schedule 02.04.2015
comment
хм, ладно, как мне это сделать с помощью Json Pointer? Я бегло посмотрел и не смог понять.   -  person Shaun    schedule 02.04.2015


Ответы (1)


Чтобы получить доступ к значению accountName, вы должны использовать это выражение:

$.accounts[0].accountName

Вы также можете получить все имя учетной записи с помощью этого выражения:

$.accounts[*].accountName

Надеюсь, поможет !

person Juanwolf    schedule 02.04.2015