Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 反序列化对象中的elasticsearch响应_C#_Json_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Deserialization - Fatal编程技术网 elasticsearch,deserialization,C#,Json,elasticsearch,Deserialization" /> elasticsearch,deserialization,C#,Json,elasticsearch,Deserialization" />

C# 反序列化对象中的elasticsearch响应

C# 反序列化对象中的elasticsearch响应,c#,json,elasticsearch,deserialization,C#,Json,elasticsearch,Deserialization,我得到以下来自ElasticSearchRESTAPI的响应 { hits: { hits:[{ _source: { type:"test" } }] } } 我正在尝试使用 JsonConvert.DeserializeObject<Document>(response) JsonConvert.DeserializeObject(响应) 下面是文档类结构,但它无法填充对象中的值。反序列化对象中

我得到以下来自ElasticSearchRESTAPI的响应

{
    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粘贴为类”。这将生成所有需要的类,以及所有需要的结构。