gpt4 book ai didi

c# - 将(许多)JSON 不同对象解析为 C# 类。强类型更好吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:38:09 25 4
gpt4 key购买 nike

我一直在做一个客户端 - 服务器项目。在 PHP 上实现的服务器端。在 C# 上实现的客户端。 websocket 用于它们之间的连接。

所以,这就是问题所在。客户将提出请求。 Json 用于发送对象并根据模式进行验证。请求必须有它的名字并且可以包含参数。 Args 就像关联数组(键 => 值)。

服务器将给出响应。响应可以包含参数、对象、对象数组。例如,客户端发送如下请求:

    {
"name": "AuthenticationRequest",
"username": "root",
"password": "password",
"etc": "etc"
}

为此,服务器将回复 AuthSuccess 或 AuthFailed 响应,例如:
    {
"name": "AuthFailed",
"args": [
{
"reason": "Reason text"
}]
}

如果响应为 AuthSuccess,客户端将发送在线请求。服务器必须发送一组用户。

等等。所以问题是,如何在客户端存储这些响应。我的意思是,为每个响应类型创建一个新对象的方式是疯狂的。它们将是数百种请求类型,并且每一种都需要它自己的响应。请求结构的任何变化都将非常困难......

需要某种模式或技巧。我知道这是一种菜鸟的方式......但是如果有人对实现请求/响应结构有更好的想法,请告诉它。

此致!

最佳答案

为什么为每种请求/响应创建一个类是一个问题?如果您有数百种不同类型的请求和响应,您可能想要尝试更好地对它们进行分类。

我认为在您的请求或响应中存在共同的模式。例如。 FailureResponse可能总是包含一些状态信息,也可能包含一个 UserData- object (这可以是任何取决于用例)。这同样可以应用于其他类别(例如 SuccessResponse )。

关于c# - 将(许多)JSON 不同对象解析为 C# 类。强类型更好吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32368199/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com