Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.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# 使用C反序列化JSON以返回项_C#_Json - Fatal编程技术网

C# 使用C反序列化JSON以返回项

C# 使用C反序列化JSON以返回项,c#,json,C#,Json,我有以下资料: {"documents": [{"keyPhrases": [ "search results","Azure Search","fast search indexing","sophisticated search capabilities","Build great search experiences","time-sensitive search scenarios"

我有以下资料:

{"documents":
    [{"keyPhrases":
        [
            "search results","Azure Search","fast search indexing","sophisticated search            capabilities","Build        great   search experiences","time-sensitive search          scenarios","service availability","managed      service","service               updates","index corruption","near-instantaneous responses","multiple                    languages","integrated Microsoft    natural language stack","multiple           indexes","application       changes","ranking models","great relevance","years  of          development","primary interaction       pattern","storage","Bing","data             volume","rich","suggestions","hassle of     dealing","Reliable                  throughput","website","incremental cost","complexity","faceting","traffic","mobile                  apps","business goals","users","applications","user expectations","Office"
        ],
    "id":"1"}],
   "errors":[]
}
我需要提取关键短语中的项目,但完全不知道如何做

我尝试了以下方法:

KeyPhraseResult keyPhraseResult = new KeyPhraseResult();

/// <summary>
/// Class to hold result of Key Phrases call
/// </summary>
public class KeyPhraseResult
{
    public List<string> keyPhrases { get; set; }
}

keyPhraseResult = JsonConvert.DeserializeObject<KeyPhraseResult>(content);
内容包含上面的JSON字符串

但是,keyPhraseResult返回空值

有人能帮我找到正确的方向吗

多谢各位

public class Document
{
    public List<string> keyPhrases { get; set; }
    public string id { get; set; }
}

public class RootObject
{
    public List<Document> documents { get; set; }
    public List<object> errors { get; set; }
}
您应该具有以下结构:

var result = JsonConvert.DeserializeObject<RootObject>(content);

如果我没弄错的话,这是个打字错误。JSON中的关键字短语和codedocuments中的关键字短语是一个具有属性keyPhrases的对象数组。您缺少数组级别和documents属性。谢谢,Bas,您是正确的。我实际上没有意识到他们需要完全相同,尽管这是合乎逻辑的。我已经换了。谢谢!!这真是太棒了!!然后,我添加了以下内容以使用关键字短语填充KeyPhraseResult类:KeyPhraseResult.KeyPhrases=result.documents[0]。KeyPhrases;-再次感谢!!