C# 反序列化对象中的elasticsearch响应
我得到以下来自ElasticSearchRESTAPI的响应C# 反序列化对象中的elasticsearch响应,c#,json,
elasticsearch,deserialization,C#,Json,
elasticsearch,Deserialization,我得到以下来自ElasticSearchRESTAPI的响应 { hits: { hits:[{ _source: { type:"test" } }] } } 我正在尝试使用 JsonConvert.DeserializeObject<Document>(response) JsonConvert.DeserializeObject(响应) 下面是文档类结构,但它无法填充对象中的值。反序列化对象中
{
hits:
{
hits:[{
_source: { type:"test" }
}]
}
}
我正在尝试使用
JsonConvert.DeserializeObject<Document>(response)
JsonConvert.DeserializeObject(响应)
下面是文档类结构,但它无法填充对象中的值。反序列化对象中的值始终保持为空
class Document
{
public Hits hits { set; get; }
}
class Hits
{
public IEnumerable<Source> _source { set; get; }
}
class Source
{
public string type { set; get; }
}
类文档
{
公共点击次数{set;get;}
}
类命中率
{
公共IEnumerable_源{set;get;}
}
类源
{
公共字符串类型{set;get;}
}
如何反序列化给定的响应?或者我做错了什么?试试这个
class Document
{
public Hits hits { set; get; }
}
class Hits
{
public IEnumerable<Hit> hits { set; get; }
}
class Hit
{
public Source _source { set; get; }
}
class Source
{
public string type { set; get; }
}
类文档
{
公共点击次数{set;get;}
}
类命中率
{
公共IEnumerable hits{set;get;}
}
班级热
{
公共源_源{set;get;}
}
类源
{
公共字符串类型{set;get;}
}
是的,这应该可以完成任务。你错过了上课时间。Hits实际上是一个对象数组,具有源属性,是类Hit。有一种很好的方法可以使用VisualStudio生成所需的类。复制json示例,导航到studio,打开一个空的cs文件(这很重要,否则它需要工作),然后转到“编辑->粘贴特殊->将json粘贴为类”。这将生成所有需要的类,以及所有需要的结构。