【问题标题】:Make GET Request then display result in MessageBox C#发出 GET 请求,然后在 MessageBox C# 中显示结果
【发布时间】:2019-12-22 02:31:04
【问题描述】:

我正在尝试使用我提交 GET 请求的 api,示例响应类似于:

{
  "status": true,
  "message": "Connected"
}

我知道如何提出请求,但我如何获得例如“状态”等响应的一部分并将其放入变量、标签或消息框?

【问题讨论】:

  • 您需要将该 JSON 解析为 .NET 对象。与解析任何其他响应的方式相同。
  • 我可以举个例子吗?例如使用 Newtonsoft.Json?

标签: c# api get


【解决方案1】:

从 Nuget PackageManager 安装 NewtonSoft。

然后您将能够根据您的要求解析 JSON 字符串


using System;
using Newtonsoft.Json.Linq;



public class Program
{
    public static void Main()
    {
        string jsonstring = "{\"status\":true,\"message\":\"connected\"}";
         JObject json = JObject.Parse(jsonstring); //this is thr string     
        string statusValue = (string)json["status"];
        MessageBox.Show("Status :"+statusValue);
    }
}

【讨论】:

  • 我认为像 MyClass m = JsonConvert.DeserializeObject<MyClass >(jsonstring ); 那样解析成 C# 类总是更好
  • 啊,效果很好!非常感谢您花时间帮助我:)
【解决方案2】:

您可以创建一个类来为您的 JSON 响应建模:

public class Request
{
    public bool Status { get; set; }
    public string Message { get; set; }
}

然后使用 Newtonsoft.Json 反序列化您的 JSON 字符串:

var jsonstring = "{\"status\":true,\"message\":\"connected\"}";

var request = JsonConvert.DeserializeObject<Request>(jsonstring);

dotnetfiddle.net 上的演示。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-24
    • 1970-01-01
    • 2021-03-22
    相关资源
    最近更新 更多