[英]Deserialize JSON Object C# with Newtonsoft
我需要反序列化以下內容:
{"result":{"success":true,"value":"8cb2237d0679ca88db6464eac60da96345513964"}}
Newtonsoft.Json轉換為C#對象
WebClient wc = new WebClient();
var json = wc.DownloadString(url);
Worker w = JsonConvert.DeserializeObject<Worker>(json);
這是類代碼:
public class Worker
{
[JsonProperty("success")]
public string success { get; set; }
[JsonProperty("value")]
public string value { get; set; }
}
該代碼不會出錯,但是成功和值均為null。
您缺少外部對象。
public class Worker
{
[JsonProperty("result")]
public Result Result { get; set; }
}
public class Result
{
[JsonProperty("success")]
public string Success { get; set; }
[JsonProperty("value")]
public string Value { get; set; }
}
我不熟悉該庫,但是成功和結果看起來都是對象“結果”的兩個屬性
您是否嘗試過[JsonProperty("result.success")]
?
編輯:好吧,無論它看起來像一個范圍問題。 查看文檔后,這是我的新建議:
public class Result{
[JsonProperty("result")]
public Worker result { get; set; }
}
然后Json.Convert.Deserialize<Result>(json)
。
您不需要任何課程,可以使用dynamic
關鍵字
string json = @"{""result"":{""success"":true,""value"":""8cb2237d0679ca88db6464eac60da96345513964""}}";
dynamic dynObj = JsonConvert.DeserializeObject(json);
Console.WriteLine("{0} {1}", dynObj.result.success, dynObj.result.value);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.