all

如何将 JSON 对象转换为自定义 C# 对象?

发布于 2022-05-26 23:07:37

有没有一种简单的方法可以使用通过 AJAX 传递的 JSON 对象来填充我的 C# 对象?

这是使用 JSON.stringify 从页面传递给 C# WEBMETHOD 的 JSON 对象

{
    "user": {
        "name": "asdf",
        "teamname": "b",
        "email": "c",
        "players": ["1", "2"]
    }
}

接收 JSON 对象的 C# WebMetod

[WebMethod]
public static void SaveTeam(Object user)
{

}

表示传递给WebMethod的JSON Object的对象结构的C#类

public class User
{
    public string name { get; set; }
    public string teamname { get; set; }
    public string email { get; set; }
    public Array players { get; set; }
}
关注者
0
被浏览
15
1 个回答
  • 面试哥
    面试哥 2022-05-26
    为面试而生,有面试问题,就找面试哥。

    在 C# 中使用 JSON 的一个好方法是使用JSON.NET

    JSON.NET的 快速入门和 API
    文档
    -
    官方网站
    帮助您使用它。

    如何使用它的一个例子:

    public class User
    {
        public User(string json)
        {
            JObject jObject = JObject.Parse(json);
            JToken jUser = jObject["user"];
            name = (string) jUser["name"];
            teamname = (string) jUser["teamname"];
            email = (string) jUser["email"];
            players = jUser["players"].ToArray();
        }
    
        public string name { get; set; }
        public string teamname { get; set; }
        public string email { get; set; }
        public Array players { get; set; }
    }
    
    // Use
    private void Run()
    {
        string json = @"{""user"":{""name"":""asdf"",""teamname"":""b"",""email"":""c"",""players"":[""1"",""2""]}}";
        User user = new User(json);
    
        Console.WriteLine("Name : " + user.name);
        Console.WriteLine("Teamname : " + user.teamname);
        Console.WriteLine("Email : " + user.email);
        Console.WriteLine("Players:");
    
        foreach (var player in user.players)
            Console.WriteLine(player);
     }
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看