Java Json记录列表

Java Json记录列表,java,json,spring-boot,Java,Json,Spring Boot,我有一个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为参数的方法,根据这个输入,我只

我有一个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为参数的方法,根据这个输入,我只需要得到那个特定的记录并显示它

您的问题没有得到很好的解释,您可以在将字符串更正为真正的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;
}
此示例的结果是:


{年龄:27岁,姓氏:穆拉里,姓氏:戈特,公司:}

请清楚地说明你面临的问题,你尝试了什么,还有一个您正在寻求帮助的特定问题。我尝试根据姓氏获取一条记录,但出现了错误,如无法转换到JSONArray我使用了JSONObject和JSONArray,它们对我不起作用。请在问题中发布代码和完整错误。我们帮不了你,你没给我们看的代码。