簡體   English   中英

如何在C#中訪問JSON對象的結果

[英]How do I access the results of a JSON object in C#

如何通過C#Rest API調用遍歷JSON結果:

        string url = string.Format("https://example.com/api/mytext");
        System.Net.HttpWebRequest req = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url);
        req.Method = "GET";
        req.UserAgent = "mykey";
        req.Accept = "text/json";

        using (System.Net.HttpWebResponse resp = (System.Net.HttpWebResponse)req.GetResponse())
        {
            if (resp.StatusCode == System.Net.HttpStatusCode.OK)
            {
                // how do I access the JSON here and loop through it?

            }
        }

resp對象中沒有“數據”:

顯示響應對象

Visual Studio似乎沒有在“ resp”中顯示任何結果-但我知道它們在那里,因為我已經在郵遞員中看到了結果。

謝謝馬克

GetResponseStream()StreamReader

string url = string.Format("https://example.com/api/mytext");
System.Net.HttpWebRequest req = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url);
req.Method = "GET";
req.UserAgent = "mykey";
req.Accept = "text/json";

using (System.Net.HttpWebResponse resp = (System.Net.HttpWebResponse)req.GetResponse())
{
    if (resp.StatusCode == System.Net.HttpStatusCode.OK)
    {
        string contents;
        // how do I access the JSON here and loop through it?
        using(var responseStream = resp.GetResponseStream())
        using(var responseStreamReader = new StreamReader(responseStream))
        {
            contents = responseStreamReader.ReadToEnd();
        }

        var deserializedContent = JsonConvert.DeserializeObject<T>(contents);
    }
}

GetResponseStream上查看更多

StreamReader上查看更多

JsonConvert上查看更多

依賴項: Newtonsoft.Json

使用HttpWebResponse.GetResponseStream方法以Stream獲取結果。 然后,您可以使用Newtonsoft JSON.NET解析結果。

using (System.Net.HttpWebResponse resp = (System.Net.HttpWebResponse)req.GetResponse())
    {
        if (resp.StatusCode == System.Net.HttpStatusCode.OK)
        {
            using (var stream = resp.GetResponseStream())
            {
                // Process data with JSON.NET library here
            }

        }
    }

動態dynJson = JsonConvert.DeserializeObject(response);

暫無
暫無

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

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