簡體   English   中英

使用Newtonsoft反序列化JSON對象C#

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM