Я следующие данные JSON: -Как читать формы значение массива JSON в Java
{
"store": {
"book": [
{
"category": "reference",
"author": "Nigel Rees",
"title": "Sayings of the Century",
"price": 8.95
},
{
"category": "fiction",
"author": "Evelyn Waugh",
"title": "Sword of Honour",
"price": 12.99
},
{
"category": "fiction",
"author": "Herman Melville",
"title": "Moby Dick",
"isbn": "0-553-21311-3",
"price": 8.99
},
{
"category": "fiction",
"author": "J. R. R. Tolkien",
"title": "The Lord of the Rings",
"isbn": "0-395-19395-8",
"price": 22.99
}
],
"bicycle": {
"color": "red",
"price": 19.95
}
},
"expensive": 10
}
Метод утверждать JSON: -
public void assertJsonvalue (String description, String jsonString,
String path, Object expectedValue) {
ObjectMapper objectMapper = new ObjectMapper();
Map<String, Object> jsonMap = null;
try {
jsonMap = objectMapper.readValue(jsonString,
new TypeReference<Map<String, Object>>() {
});
} catch (IOException e) {
fail("Could not parse json from string:" + jsonString);
}
Object actualValue = null;
try {
actualValue = PropertyUtils.getProperty(jsonMap, path);
System.out.println("actualValue" + actualValue);
} catch (IllegalAccessException e) {
// error here
}
assertEquals(description, expectedValue, actualValue);
}
Когда я пытаюсь получить JSon значение с помощью следующее: «Хорошо работает».
assertJsonValue("bicycle color", json, "store.bicycle.color", "red");
Я хочу получить значение массива от json, такого как детали 1-й книги.
Я пробовал следующее, что не помогает мне.
JSON пути заключаются в следующем: -
- "store.book [0]"
- "store.book [0]"
- "store.book.category"
Как это сделать?
Что библиотеку вы используете – bmarkham
я использую следующие библиотеки, такие как com.fasterxml.jackson.databind .JsonNode и org.codehaus.jackson.JsonNode – karan