我想了解为什么我为以下内容获取空值:
JSON:
{
"IdentityService": {
"IdentityTtlInSeconds": "90",
"LookupDelayInMillis": "3000"
}
}
班级:
public class IdentityService
{
public string IdentityTtlInSeconds { get; set; }
public string LookupDelayInMillis { get; set; }
}
跟:
_identityService = JsonConvert.DeserializeObject<IdentityService>(itemAsString);
该类已实例化,但IdentityTtlInSeconds和LookupDelayInMillis的值为null。我不明白为什么他们应该
答案 0 :(得分:6)
您还需要一个类 - 一个具有一个名为IdentityService
的属性的对象:
public class RootObject
{
public IdentityService IdentityService { get; set; }
}
您需要此类,因为您拥有的JSON具有一个名为IdentityService
的属性,并且此对象具有两个属性,称为IdentityTtlInSeconds
和LookupDelayInMillis
。如果您使用的是默认序列化程序,则您的类需要反映您在JSON字符串中的结构。
现在您可以使用它来反序列化您的字符串:
var rootObject = JsonConvert.DeserializeObject<RootObject>(itemAsString);
_identityService = rootObject.IdentityService;