【发布时间】:2019-05-30 10:55:25
【问题描述】:
我正在从图形数据库中读取数据并将响应作为动态对象获取。我检查结果并尝试将它们反序列化:
var e = results.GetEnumerator();
while (e.MoveNext())
{
var serialized = JsonConvert.SerializeObject(e.Current);
// {"FlagCalculateclientside":[false],"Description":["Some detailed info"], "Name": ["MyDetailedEntity"]}
var val = JsonConvert.DeserializeObject<MyObject>(serialized);
}
public class MyObject
{
public bool FlagCalculateclientside { get; set; }
public string Description { get; set; }
public string Name { get; set; }
}
但我收到以下错误:
Newtonsoft.Json.JsonReaderException:解析值时遇到意外字符:[。路径“FlagCalculateclientside”,第 1 行,位置 28。 在 Newtonsoft.Json.JsonTextReader.ReadAsBoolean() 在 Newtonsoft.Json.JsonReader.ReadForType(JsonContract 合同,布尔 hasConverter) ...
我猜这是因为值在数组中,但每个键只有一个值。
知道如何解决这个问题吗?
【问题讨论】:
-
有问题的注释代码是您的 json 响应吗?
-
结果从何而来?数据/对象设置如何?
-
@A.M. Patel 是的,这是“序列化”的值
-
@Tony Abrams 我向 Gremlin 客户端发出请求,如下所示:
var results = await gremlinClient.SubmitAsync<dynamic>(requestScript).ConfigureAwait(false);requestScript 只保存我的 Gremlin 查询字符串 -
Gremlin 查询是什么样的?
标签: c# json.net deserialization