【问题标题】:C# Read Json And Read Data [closed]C# 读取 Json 并读取数据 [关闭]
【发布时间】:2023-04-02 11:35:01
【问题描述】:

我想制作一个 C# 应用程序,通过用户 ID 显示你的 Roblox 名称

这是我个人资料的 Json,但我不知道如何获取 Json 数据:https://api.roblox.com/users/157816362

例如:

json = new System.Net.WebClient(){ Proxy = null }.DownloadString("https://api.roblox.com/users/157816362");
label1.text = json.Username

类似的东西。

你们能帮帮我吗?

【问题讨论】:

    标签: c# json roblox


    【解决方案1】:

    这是一个示例程序,您必须创建一个 Web 请求,传递您想要的 url,然后从中获取响应。

    您必须从那里将响应“反序列化”为可在代码中使用的对象。我使用了 System.Json 之一,但您可以选择其他的,例如 newtonsoft。

    internal class Program
    {
        public static void Main(string[] args)
        {
            var webRequest = WebRequest.Create("https://api.roblox.com/users/157816362");
            var response = webRequest.GetResponse();
            var responseStream = response.GetResponseStream();
            if (responseStream != null)
            {
                var reader = new StreamReader(responseStream);
                string body = reader.ReadToEnd();
                var robloxProfile = JsonSerializer.Deserialize<RobloxResponse>(body);
            }
        }
    }
    
    public class RobloxResponse
    {
        public int Id { get; set; }
        public string Username { get; set; }
        public string AvatarUri { get; set; }
        public bool AvatarFinal { get; set; }
        public bool IsOnline { get; set; }
    }
    

    【讨论】:

    • 那么如何将 label1 的文本更改为用户名?
    • 使用 Corys 代码将是 label1.Text = robloxProfile.Username;
    • 我收到这样的错误:i.ibb.co/9cV3P18/igoterror.png 我该如何解决?
    • 您需要在顶部提供这些参考:使用 System.IO;使用 System.Net;使用 System.Text.Json;
    • 我无法从 Button1_Click 访问 robloxProfile.Username 我该如何解决这个问题?
    【解决方案2】:

    你几乎已经有了答案。您应该创建一个映射到 json 的类,下载 Newtonsoft.Json nuget 并将您从 WebClient.DownloadString 获得的字符串数据转换为通过 JsonConvert 类的类。像这样:

    class Program {
        static void Main(string[] args) {
            using (var client = new WebClient()) {
                var data = client.DownloadString("https://api.roblox.com/users/157816362");
                var jsonData = JsonConvert.DeserializeObject<JsonData>(data);
                Console.WriteLine($"{jsonData.Username}");
            }
    
            Console.ReadLine();
        }
    
        public class JsonData {
            public int Id { get; set; }
            public string Username { get; set; }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多