Java jxPath根据映射中的值从列表中获取对象

Java jxPath根据映射中的值从列表中获取对象,java,jxpath,Java,Jxpath,因此,我有一个如下所示的对象结构: 我有一个Person对象,它有一个朋友列表(名为Friends in Person) -该好友列表有一个地图(命名信息) -该映射有一个“age”键和一个字符串值 因此,我期待着回报一位朋友,他的年龄等于20岁 public class Person { private List<Friend> friends; public List<Friend> getFriends() { return fri

因此,我有一个如下所示的对象结构:

我有一个Person对象,它有一个朋友列表(名为Friends in Person) -该好友列表有一个地图(命名信息) -该映射有一个“age”键和一个字符串值

因此,我期待着回报一位朋友,他的年龄等于20岁

public class Person {
    private List<Friend> friends;

    public List<Friend> getFriends() {
        return friends;
    }

    public void setFriends(List<Friend> friends) {
        this.friends = friends;
    }
}


public class Friend {
    private Map<String, Object> information;

    public Map<String, Object> getInformation() {
        return information;
    }

    public void setInformation(Map<String, Object> information) {
        this.information = information;
    }
}

您需要选择“朋友”链接下的所有对象,这些对象的信息地图中包含的“年龄”等于20。那么你只想要第一个结果

Friend match = (Friend)JXPathContext.newContext(personInput).getValue("friends[information/age = '20'][1]");
Friend match = (Friend)JXPathContext.newContext(personInput).getValue("friends[information/age = '20'][1]");