2015-03-02 65 views
2

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

实施例的查询:

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

我想要查询的结果将被变换到JSON(优选杰克逊JsonNode)

由于结果已在JSON格式,它是在JSON转移格式这应该是相当容易的,但我还没有能够找到hsolutionhow做到这一点。

回答

0

您总是可以将您的密码发布到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" 
    } 
    ] 
} 

并且有东西li柯本返回

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

不是真的我想用它,因为我更新了较大有限嵌套对象 – Nayish 2015-03-02 21:57:21

+1

什么即时寻找,因为我想嵌套的对象,以及...的例子只有两个级别的对象,但查询和响应以包括数据中的属性名称。更紧密? – 2015-03-02 22:14:41

+0

有限。没有无限......如果我在这里使用它,我的示例如何选择看起来如何?它是否只是一个行的每个对象...因为这就是我要找的东西? – Nayish 2015-03-02 22:16:11