将gremlin控制台输出转换为json

时间:2018-03-17 12:54:58

标签: json console output gremlin

我正在尝试将gremlin控制台的输出转换为json格式,

对于Ex:gremlin>g.V(409608).valueMap()

  

示例输出:   [易名:FS-BR-刚柔-ENB-G001_MW],LNG:[000086.2119100],调制:[2048],城市:[詹谢普尔],hopType:[1 + 0],ETYPE:[微波],CTIME:星期六   3月03日20:37:27 IST   2018年] aendSapId:[FS-BR-JMDP-ENB-6005],供应商:[CERAGON],域:[MW],位置:[POINT   (86.21191 22.79906)],状态:[Jharkhand],mTime:[Sat Mar 03 20:37:27 IST   2018年]纬度:[000022.7990600],SAPID:[FS-BR-刚柔-ENB-G001]

我怎么能把它转换成json ??

这个"g.V(409608).valueMap()"只是一个例子,我正在寻找一种可以将任何类型的查询输出转换为json的函数/方式。

其实我正在尝试开发一个功能,其中我有一个gremlin查询作为字符串(“gremlin查询”),我需要它的输出在JSON (USING JAVA)

1 个答案:

答案 0 :(得分:1)

如果您创建了杰克逊ObjectMapper

,则可以序列化为GraphSON
gremlin> mapper = GraphSONMapper.build().version(GraphSONVersion.V3_0).create().createMapper()
==>org.apache.tinkerpop.shaded.jackson.databind.ObjectMapper@7e97551f
gremlin> v = g.V().has('name','marko').valueMap(true).next()
==>id=1
==>name=[marko]
==>age=[29]
==>label=person
gremlin> mapper.writeValueAsString(v)
==>{"@type":"g:Map","@value":[{"@type":"g:T","@value":"id"},{"@type":"g:Int32","@value":1},"name",{"@type":"g:List","@value":["marko"]},"age",{"@type":"g:List","@value":[{"@type":"g:Int32","@value":29}]},{"@type":"g:T","@value":"label"},"person"]}

如果您希望JSON使用非嵌入类型,则可以使用GraphSON 1.0

gremlin> mapper = GraphSONMapper.build().version(GraphSONVersion.V1_0).create().createMapper()
==>org.apache.tinkerpop.shaded.jackson.databind.ObjectMapper@4a3be6a5
gremlin> mapper.writeValueAsString(v)
==>{"id":1,"name":["marko"],"age":[29],"label":"person"}