如何将JSON反序列化为List?

时间:2016-10-19 04:55:34

标签: c# .net json asp.net-mvc serialization

我有一个序列化的JSON字符串serializedClaims -

var claims = new List<Claim>();

claims.Add(new Claim("MakerId", "939393", ClaimValueTypes.String));
claims.Add(new Claim(ClaimTypes.DateOfBirth, "1956-03-08", ClaimValueTypes.Date));

var serializedClaims = JsonConvert.SerializeObject(claims); 

现在我想将serializedClaims反序列化为List<Claim>

怎么做?

3 个答案:

答案 0 :(得分:2)

您可以在转化中指定List<Claim>类型

var dserializedClaims = JsonConvert.DeserializeObject<List<Claim>>(serializedClaims); 

答案 1 :(得分:1)

你可以做到

List<Claim> deserializedClaims = JsonConvert.DeserializeObject<List<Claim>>(serializedClaims);

答案 2 :(得分:1)

您可以使用JsonConvert DeserializeObject,并且还为json data.like

的格式指定了它的设置。
      var settings = new JsonSerializerSettings
        {
            ContractResolver = new CamelCasePropertyNamesContractResolver(),
            NullValueHandling = NullValueHandling.Ignore,
            DateParseHandling = DateParseHandling.None
        };
       List<Claim> claims =JsonConvert.DeserializeObject<List<Claim>>(serializedClaims, settings);

使用此设置,您可以忽略空值并提供日期解析处理