[英]How deserialize json object to c#
我想從 JSON 反序列化這個對象:
{"domain":"google.com","data":{"available":true,"expiration":null,"registrant_email":null}}
我使用這個代碼:
public class Data
{
public string available { get; set; }
}
Data data = JsonConvert.DeserializeObject<Data>(finishResponse);
Console.WriteLine(data.available);
請幫幫我吧!
嘗試進行此更改。 這樣您的 C# 類將匹配您正在接收的 JSON 對象。 如果您感興趣,您當然應該擴展Data
類以包含其余的 json 字段。
public class Response
{
[JsonProperty(Required = Required.Default)]
public string Domain { get; set; }
[JsonProperty(Required = Required.Always)]
public Data Data { get; set; }
}
您會注意到我將所需的AllowNull
添加到Expiration
+ RegistrantEmail
並將Data
屬性添加到Always
。 如果您為Data
發送 null ,反序列化將失敗。
public partial class Data
{
[JsonProperty(Required = Required.Default)]
public bool Available { get; set; }
[JsonProperty(Required = Required.AllowNull)]
public object Expiration { get; set; }
[JsonProperty("registrant_email" ,Required = Required.AllowNull)]
public object RegistrantEmail { get; set; }
}
var response = JsonConvert.DeserializeObject<Response>(finishResponse);
Console.WriteLine(response.Data.available);
此答案還考慮了序列化 json 字符串中的某些字段可能為 null,因此在這種情況下不會拋出異常。
您的課程與 JSON 不匹配...這里有幾個與 JSON 匹配的課程:
public class MyJson
{
[JsonProperty("domain")]
public string Domain { get; set; }
[JsonProperty("data")]
public Data Data { get; set; }
}
public partial class Data
{
[JsonProperty("available")]
public bool Available { get; set; }
// This should probably be a nullable DateTime
[JsonProperty("expiration")]
public object Expiration { get; set; }
// And this should probably be a string...
[JsonProperty("registrant_email")]
public object RegistrantEmail { get; set; }
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.