簡體   English   中英

從 API 調用動態反序列化 JSON

[英]Deserializing JSON from API call Dynamically

我使用的 API 調用返回類似於下面的 JSON

{
    "d": {
        "results": [
            {
                "Id": "Test01",
                "Version": ""

            }
        ],
        "count": 0
    }
}

無論如何我可以動態反序列化這個還是應該創建 POCO 類來這樣做?

對於您的問題,我使用的是Newtonsoft JSON 庫,它是一種流行的 .NET 高性能 JSON 框架。

您可以通過兩種方式反序列化您的JSON字符串:

1) 為您的JSON字符串使用 POCO 類:

public class Result
{
    public string Id { get; set; }
    public string Version { get; set; }
}

public class D
{
    public List<Result> results { get; set; }
    public int count { get; set; }
}

public class RootObject
{
    public D d { get; set; }
}

反序列化:

var Sresponse = JsonConvert.DeserializeObject<RootObject>(json);

或者

2) 如果不想使用POCO類,可以使用dynamic

var dynamicresponse = JsonConvert.DeserializeObject<dynamic>(json);

輸出:

Id: Test01
Version: 
Count: 0

可以在此處找到說明這兩種情況的工作示例:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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