Список записей Json - PullRequest
       4

Список записей Json

0 голосов
/ 30 ноября 2018

У меня есть список записей json, например:

[{“age”:27,”lastname”:”Robert “,”firstName”:”Rob”,”company”:”abc”},

{“age”:27,”lastname”:”Ashok “,”firstName”:”Bob”,”company”:”def”},

{“age”:27,”lastname”:”murali“,”firstName”:”Got”,”company”,”Ghori”}]

Напишите метод, который принимает lastName в качестве параметра и на основе этого ввода мне нужно вывести только эту конкретную запись и отобразить ее

1 Ответ

0 голосов
/ 30 ноября 2018

Ваша проблема плохо объяснена, вы можете попробовать это решение (после исправления вашей строки, чтобы она стала настоящим содержимым json)

Используя ObjectMapper, вы можете прочитать вашу строку, чтобы преобразовать ее в ArrayNode

public static void main(String[] args) throws IOException {
    String json= "[\n" +
                    "   {\n" +
                    "      \"age\":27,\n" +
                    "      \"lastname\":\"Robert \",\n" +
                    "      \"firstName\":\"Rob\",\n" +
                    "      \"company\":\"abc\"\n" +
                    "   },\n" +
                    "   {\n" +
                    "      \"age\":27,\n" +
                    "      \"lastname\":\"Ashok \",\n" +
                    "      \"firstName\":\"Bob\",\n" +
                    "      \"company\":\"def\"\n" +
                    "   },\n" +
                    "   {\n" +
                    "      \"age\":27,\n" +
                    "      \"lastname\":\"murali\",\n" +
                    "      \"firstName\":\"Got\",\n" +
                    "      \"company\":\"\"\n" +
                    "   }\n" +
                    "]";
    // example with murali
    getLine(json, "murali");
}

private static String getLine(String json, String lastName) throws IOException {
    ArrayNode rootNode = (ArrayNode) new ObjectMapper().readTree(json);
    for(JsonNode jsonNode : rootNode) {
        ObjectNode node = (ObjectNode)jsonNode;
        String lastNameValue = node.get("lastname").textValue();
        if(lastName.equals(lastNameValue)){
            return jsonNode.toString();
        }
    }
    return null;
}

результат для этого примера:

{"age": 27, "фамилия": "murali", "firstName": "Got", "company": ""}

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