【问题标题】:Neo4j and Spring-data Map query result to Jackson JsonNodeNeo4j 和 Spring-data Map 查询结果到 Jackson JsonNode
【发布时间】:2015-05-03 09:23:25
【问题描述】:

我将如何使用 neo4j 和 spring-data 将密码查询的值转换为 JsonNode (Jackson)。

查询示例:

Match (a:Moo)
return {
    id: id(a),
    list: [{color: a.color}, {color: a.otherColor}]
}

我希望将查询的结果转换成Json(最好是Jackson的JsonNode)

由于结果已经是 json 格式,并且是以 json 格式传输的,这应该相当容易,但我还没有找到解决方法。

【问题讨论】:

    标签: neo4j jackson cypher spring-data spring-data-neo4j


    【解决方案1】:

    您可以随时将您的密码发布到neo4j transactional end point

    如果您发布了这样的内容...

    {
      "statements": [
        {
          "statement": "match (a:Moo {name: 'A'}) RETURN {id: id(a)} as id, {list : [{colour: a.colour}, {colour: a.other_colour}]} as list"
        }
      ]
    }
    

    你会得到这样的东西......

    {
      "results": [
        {
          "columns": [
            "id",
            "list"
          ],
          "data": [
           {
             "row": [
                 {"id" : 2723},
                 {"list" :
                   [
                     {"colour" : "black"},
                     {"colour" : "blue"}
                   ]
                 }
             ]
           },
           {
             "row": [
                 {"id" : 2724},
                 {"list" :
                   [
                     {"colour" : "green"},
                     {"colour" : "purple"}
                   ]
                 }
             ]
           }
         ]
       }
     ],
     "errors": [ ]
    }
    

    或者,如果您希望将属性值组合在同一个对象中,您可以执行类似的操作,您可以发布此密码并返回

    {
      "statements": [
        {
          "statement": "match (a:Moo {name: 'A'}) RETURN {id: id(a), list: [ {colour: a.colour},{colour: a.other_colour}]} as data"
        }
      ]
    }
    

    并返回类似的东西

    {
      "results": [
        {
          "columns": [
            "data"
          ],
          "data": [
           {
             "row": [
                 {"id" : 2723,
                 "list" :
                   [
                     {"colour" : "black"},
                     {"colour" : "blue"}
                   ]
                 }
             ]
           },
           {
             "row": [
                 {"id" : 2724,
                 "list" :
                   [
                     {"colour" : "green"},
                     {"colour" : "purple"}
                   ]
                 }
             ]
           }
         ]
       }
     ],
     "errors": [ ]
    }
    

    【讨论】:

    • 不是我真正想要的,因为我也想要嵌套对象......该示例只有两个级别的对象,但我想将它用于更大的有限嵌套对象
    • 我更新了查询和响应以在数据中包含属性名称。更近一点?
    • 有限。没有无限...如果我在这里使用我的示例选择看起来如何?会不会只是每个对象一行...因为这就是我要找的东西?
    • 嘿 - 是的,注意到之后 - 删除了那部分 - 道歉
    • 我更新了响应以显示另一个节点返回一个 id 和一组颜色
    猜你喜欢
    • 2014-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多