我正在尝试将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)。
答案 0 :(得分:1)
如果您创建了杰克逊ObjectMapper
:
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"}