c# - 如何为 JSON 创建通用 DataContract 类

标签 c# sql asp.net json

<分区>

好的,所以我一直在尝试找出一个好的方法来做到这一点,但我有点卡住了。

我有一个 SQL 数据库,目前可以为在 asp.net 中运行的网站提供便利,我的任务是删除该网站并创建一个新网站,但仍保留旧数据库的一些功能。这导致了为数据库或服务器创建端点以输出 json 的想法,该 json 稍后将被新网站抓取。

asp.net 的教程要求使用 DataContract 类来创建 Json 格式,这非常适合从表中提取数据。例如:

[DataContract]
class People
{
    [DataMember]
    internal string firstName;

    [DataMember]
    internal string lastName;

    [DataMember]
    internal string title;
} 

这对于像 SELECT * FROM PEOPLE 这样简单的事情来说很好,但是当我想做更复杂的事情时,比如内连接、可变表,或者如果我什至不知道是什么,它就会变得复杂SQL 查询将是,但我可以根据 SQL 查询生成 JSON 输出。

我的问题是,是否有一种方法可以根据正在实现的查询字符串生成 DataContract 类的创建?有没有一种好的方法可以为 JSON 创建一个 catch all DataContract?

最佳答案

C# 是强类型的;所以合格的答案是否定的。如果您事先不知道数据类型/名称,则无法为它们创建类。

话虽这么说;您始终可以使用 Newtonsoft.Json 从 JSON 创建一个 JObject;它基本上充当键值对集合(当然,这就是 JSON 的真正含义)。如果您不能创建实际的类,那可能是您最好的选择。

关于c# - 如何为 JSON 创建通用 DataContract 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50882028/

相关文章:

c# - 使用 C# 自定义控件中的透明复选框

mysql - 在 mysql 中分区或分离一个非常大的表

javascript - 每次刷新时从内部更新面板执行 javascript

asp.net - 使用 Web.Config 从域上的一个页面重定向到另一个域上的页面

c# - 自定义控件和必填字段验证器

C#序列化私有(private)类成员

c# - 取消任务

Android SQLite 删除表实际上并没有删除行

sql - 有效地查找子网内可用 IP 地址的列表/范围

c# - 无效操作异常 : ObjectDataSource could not find a non-generic method that has parameters: