2015-03-02 66 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