温馨提示:本文翻译自stackoverflow.com,查看原文请点击:azure cosmosdb - Best way to parse a Gremlin.Net response?
azure-cosmosdb gremlin

azure cosmosdb - 解析Gremlin.Net响应的最佳方法?

发布于 2020-04-24 13:44:49

Gremlin.Net响应中获取POCO的最佳方法是什么

现在,我手动转换为字典:

var results = await gremlinClient.SubmitAsync<Dictionary<string, object>>("g.V()");
var result = results[0];
var properties = (Dictionary<string, object>)result["properties"];
var value = ((Dictionary<string, object>)properties["myValue"].Single())["value"];

查看更多

提问者
halllo
被浏览
21
ADringer 2018-04-04 04:46

我发现GremlinClient只能返回动态对象,如果您将其他任何内容作为类型,它将失败(除非我做错了什么)。

我最后要做的是将动态对象序列化为JSON,然后反序列化为我想要的对象类型:

var results = await gremlinClient.SubmitAsync<dynamic>("g.V()");
JsonConvert.DeserializeObject<MyResult>(JsonConvert.SerializeObject(results));

动态对象只是一个字典,但是如果您先对其进行序列化,则它具有适当的字段/属性层次结构,然后可以将其反序列化为实际期望的内容。

不得不进行额外的转换似乎有些痛苦,但是只有这样我才能正常工作。