Получить элемент из массива JsonNode - PullRequest
1 голос
/ 29 мая 2020

У меня есть это json:

{
    "text":[
        {"a":1},
        {"b":2}
    ]
}

У меня есть этот код:

JsonNode jsonNode = (new ObjectMapper()).readTree(jsonString);

//get first element from "text"
//this is just an explanation of what i want

String aValue = jsonNode.get("text")[0]
                        .get("a")
                        .asText();

Как я могу это сделать, не сопоставляя его с объектом?

Или сделайте что-то вроде JsonNode[] array и array[0], представьте a, а array[1] - b

1 Ответ

1 голос
/ 29 мая 2020

Если вы хотите явно пройти через json и найти значение a, вы можете сделать это так же для json, которое вы указали.

String aValue = jsonNode.get("text").get(0).get("a").asText();

Поиск значения of b будет

String bValue = jsonNode.get("text").get(1).get("b").asText();

Вы также можете перемещаться по элементам в текстовом массиве и получать значения a и b как

for (JsonNode node : jsonNode.get("text")) {
    System.out.println(node.fields().next().getValue().asText());
}

И это напечатал бы ниже на консоли

1
2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...