【问题标题】:C# GET Request and Parsing JSON [closed]C# GET 请求和解析 JSON [关闭]
【发布时间】:2013-03-05 09:11:20
【问题描述】:

我正在 Windows 8、Visual Studio 2012 中开发 Windows 商店应用程序。我需要向特定 URL 发出 GET 请求并获取 JSON 作为响应。我需要解析 JSON 以获取其中的值。我需要 C# 代码来完成上述功能。

【问题讨论】:

    标签: c# json get request


    【解决方案1】:

    您可以使用HttpClient 类。 GetAsync 方法允许您向指定的 url 发送 GET 请求:

    public async Task<JsonObject> GetAsync(string uri)
    {
        var httpClient = new HttpClient();
        var content = await httpClient.GetStringAsync(uri);
        return await Task.Run(() => JsonObject.Parse(content));
    }
    

    【讨论】:

    • @Darin Dimitrov 嘿,我已经编写了代码来获得响应。我需要知道如何从响应中获取 JSON 并解析 JSON。
    • @Ramesh:那为什么不问一个关于解析的问题呢?并在你的问题中说你已经有了响应字符串?
    • @Ramesh,这正是我在回答中所展示的。你读过它吗?您使用 GetAsync 方法发送 GET 请求,然后使用 JsonObject.Parse 方法解析返回的 JSON 字符串。
    • @musefan 其实我已经有 POST 了。刚刚发现我也可以重用 GET。
    • @musefan,回答问题取决于我的心情。现在我心情很好,所以我回答各种问题。
    【解决方案2】:

    您可以使用来自MSDN的示例代码

        var client = new HttpClient();
            var uri = new Uri("http://ponify.me/stats.php");
            Stream respStream = await client.GetStreamAsync(uri);
            DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(rootObject));
            rootObject feed = (rootObject)ser.ReadObject(respStream);
            System.Diagnostics.Debug.WriteLine(feed.SONGHISTORY[0].TITLE);
    

    【讨论】:

    • 我正在使用上面的代码。它工作正常。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-03
    • 2021-07-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多