Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.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#JsonConvertDeserialization返回空值_C#_Json_Json.net_Deserialization - Fatal编程技术网

C#JsonConvertDeserialization返回空值

C#JsonConvertDeserialization返回空值,c#,json,json.net,deserialization,C#,Json,Json.net,Deserialization,我试图理解为什么我得到以下值的空值: Json: 类别: public class IdentityService { public string IdentityTtlInSeconds { get; set; } public string LookupDelayInMillis { get; set; } } 致电: _identityService = JsonConvert.DeserializeObject<IdentityService>(ite

我试图理解为什么我得到以下值的空值:

Json:

类别:

public class IdentityService
{
    public string IdentityTtlInSeconds { get; set; }

    public string LookupDelayInMillis { get; set; }
}
致电:

  _identityService = JsonConvert.DeserializeObject<IdentityService>(itemAsString);
\u identityService=JsonConvert.DeserializeObject(itemAsString);

该类已实例化,但IdentityTTLnseOnds和LookupDelayInMillis的值为null。我不明白为什么它们应该是

您还需要一个类-一个具有一个名为
IdentityService
的属性的对象:

public class RootObject
{
    public IdentityService IdentityService { get; set; }
}
您需要这个类,因为您拥有一个名为
IdentityService
的属性,而这个对象有两个属性,名为
IdentityTtlInSeconds
LookupDelayInMillis
。如果使用默认序列化程序,则类需要反映JSON字符串中的结构

现在您可以使用它来反序列化字符串:

var rootObject = JsonConvert.DeserializeObject<RootObject>(itemAsString);
_identityService = rootObject.IdentityService;
var rootObject=JsonConvert.DeserializeObject(itemAsString);
_identityService=rootObject.identityService;

反序列化为动态而不是类。查看它反序列化到什么,并确保您的类是这样的。或者从json中删除IdentityService,以便数据只包含属性,并且您可以直接反序列化到IdentityService。
var rootObject = JsonConvert.DeserializeObject<RootObject>(itemAsString);
_identityService = rootObject.IdentityService;