我正在尝试将FeedResponse转换为List但未能序列化字符串,因为它会抛出错误
无法将当前JSON对象(例如{“name”:“value”})反序列化为类型'System.Collections.Generic.List`1 [Lutran.Api.Models.Infinity]',因为该类型需要JSON数组(例如[1,2,3])正确反序列化。 要修复此错误,请将JSON更改为JSON数组(例如[1,2,3])或更改反序列化类型,使其成为普通的.NET类型(例如,不是像整数这样的基本类型,而不是类似的集合类型可以从JSON对象反序列化的数组或List。 JsonObjectAttribute也可以添加到类型中以强制它从JSON对象反序列化。 路径'令牌',第1行,第9位。
我使用this link使用逻辑进行分页,并在返回整个输出对象时获取数据,但是当我尝试将其转换为失败时。使用可传递对象但是它显示类型转换错误。使用动态对象但无法从中提取ResponseContinuation值。
使用Newton Soft转换json(反序列化字符串)
var query = client.CreateDocumentQuery<Document>(collection, options).AsDocumentQuery();
if (query.HasMoreResults)
{
var result = await query.ExecuteNextAsync<LeadDataView>();
objLeadDataView.ResponseContinuation = result.ResponseContinuation;
objLeadDataView.InfinityDataView = JsonConvert.DeserializeObject<List<Infinity>>(result.ToString());
response = objLeadDataView;
}
答案 0 :(得分:0)
我想出来了
public class LeadDataView
{
public string ResponseContinuation { get; set; }
public FeedResponse<Infinity> InfinityDataView { get; set; }
}
if (query.HasMoreResults)
{
var result = await query.ExecuteNextAsync<Infinity>();
objLeadDataView.ResponseContinuation = result.ResponseContinuation;
objLeadDataView.InfinityDataView = result;
response = objLeadDataView;
}
所以上面的代码在下面的顶部和无限级数据上发送了延续令牌。enter image description here