gpt4 book ai didi

c# - 序列化对象而不包括属性名称

转载 作者:行者123 更新时间:2023-11-30 18:41:27 25 4
gpt4 key购买 nike

我有一个简单的对象:

[DataContract]
public class MyClass
{
[DataMember(Name = "MyClassNo")]
public int MyClassNo { get; set; }
[DataMember(Name = "MyName")]
public string MyName { get; set; }
}

当我通过我的网络服务序列化它时,我得到了

[
{"MyClassNo": 1, "MyName": "Test1"},
{"MyClassNo": 2, "MyName": "Test2"}
]

但我想要的是不包含属性名称的数据:

[
{1, "Test1"},
{2, "Test2"}
]

我如何实现这一目标?

*编辑 - 我用来序列化的代码是:

var myObj = MyOpenSQlConnection.Query<MyClass>(@"select MyClassNo, MyName from MyTable");
return myObj.ToList<MyClass>();

请注意,我使用的是 Dapper-dot-net将 sql 结果映射到我的对象

最佳答案

如果不编写自己的序列化程序来序列化为属性哈希以外的内容,就不可能做到这一点。哈希是键值字段的序列,因此每个字段必须具有唯一的键。

如果您尝试为每个键设置空白值,如:

{"": "apple", "": "banana", "": "coconut"}

那么你真正拥有的只是:

{"": "coconut"}

因为每个键都会覆盖之前的键。

一个更好的问题可能是“为什么要在没有属性名称的情况下进行序列化?”尤其是在基于 Web 的环境中,您会想知道哪个值对应于哪个字段。

关于c# - 序列化对象而不包括属性名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6789094/

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