Java 从映射保存到json和redis

Java 从映射保存到json和redis,java,redis,Java,Redis,我试图同时在redis服务器和json中存储一些嵌套信息 我希望结构在redis中看起来像这样,然后将值(eid12345)作为键访问 { "mCat" : [eid1 : ["123", "234"], eid2 : ["1234", "234"], eid3 : ["2", "0", "1"]] , "fCat" : [eid1: ["986", "876"], eid3 : ["a", "hx"], eid31 : ["1"]] } json显然需要在双引号中包含所有内容 { "mCa

我试图同时在redis服务器和json中存储一些嵌套信息

我希望结构在redis中看起来像这样,然后将值(eid12345)作为键访问

{
"mCat" : [eid1 : ["123", "234"], eid2 : ["1234", "234"], eid3 : ["2", "0", "1"]]
,
"fCat" : [eid1: ["986", "876"], eid3 : ["a", "hx"], eid31 : ["1"]]

}
json显然需要在双引号中包含所有内容

{
"mCat" : ["eid1" : ["123", "234"], "eid2" : ["1234", "234"], "eid3" : ["2", "0", "1"]]
    ,
"fCat" : ["eid1": ["986", "876"], "eid3" : ["a", "hx"], "eid31" : ["1"]]

}
这是我的代码:

public static String getAllListsJSON() {
        String query = "MATCH (t:MALECAT) with t match (t)<-[r:CHILD_OF]-(subtag:MALECAT) WITH t,collect(subtag) as subtags return t.eid as eid, t.level as level,  REDUCE(relations = \"\", rel IN subtags| relations + \",\" + rel.eid) AS relations;";

        Iterable<Map<String, Object>> itr = Neo4j.queryLagData(query, null);

        ConcurrentHashMap<String, Object> mapOfMaleCatChildren = new ConcurrentHashMap<String, Object>();

for (Map map : itr) {
            String tagID = (String) map.get("eid");
            String[] immediateChildren = ((String) map.get("relations")).split(",");
            List<String> listOfImmediateChildren = new ArrayList<>();
            for (String eachChildTagEID : immediateChildren) {
                if (!"".equals(eachChildTagEID)) {
                    listOfImmediateChildren.add(eachChildTagEID);
                }
            }
            Collections.sort(listOfImmediateChildren);
            mapOfMaleCatChildren.put(tagID, new JSONArray(listOfImmediateChildren));
        }
        RedisCacheManager.setWithInfiniteRedisTTL(maleCatListsKey, mapOfMaleCatChildren);
        return mapOfMaleCatChildren.toString();
    }
public静态字符串getAllListsJSON(){

字符串query=“匹配(t:MALECAT)和t匹配(t)我的建议是使用Jackson objectmapper,为您的cats创建一个pojo,以便能够轻松地从json转换为object,反之亦然。然后对于作为哈希的EID,您可以将它们组合起来,然后可以使用SHA-1。@谢谢。我已经在为cats使用pojo了。但我需要从neo4j查询中找到它们的列表。有没有指向如何从neo4j中创建POJO列表?@AlexSales同样,我不明白为什么我要使用SHA-1,你可以使用任何一种。:)