将 gremlin 控制台输出转换为 json

Tec*_*zai 1 console json gremlin output

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

例如: gremlin>g.V(409608).valueMap()

样本输出:[eName:[FS-BR-GOJU-ENB-G001_MW],lng:[000086.2119100],modulation:[2048],city:[Jamshedpur],hopType:[1+0],eType:[MICROWAVE], cTime:[Sat Mar 03 20:37:27 IST 2018],aendSapId:[FS-BR-JMDP-ENB-6005],vendor:[CERAGON],domain:[MW],location:[POINT (86.21191 22.79906)] ,state:[Jharkhand],mTime:[Sat Mar 03 20:37:27 IST 2018],lat:[000022.7990600],sapId:[FS-BR-GOJU-ENB-G001]]

我怎样才能将它转换成 json ?

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

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

ste*_*tte 5

如果您创建 Jackson ,则可以序列化为 GraphSON 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"]}
Run Code Online (Sandbox Code Playgroud)

如果你想要非嵌入类型的 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"}
Run Code Online (Sandbox Code Playgroud)