比如下面的 C# 代码
(string DisplayName, bool? IsVip) tuple = ("cnblogs", true);
var options = new JsonSerializerOptions
{
IncludeFields = true,
};
var json = System.Text.Json.JsonSerializer.Serialize(tuple, options);
Console.WriteLine(json);
输出的序列化结果没有保留字段名:
{"Item1":"cnblogs","Item2":true}
请问如何保留字段名称?即下面的序列化结果:
{"displayName":"cnblogs","isVip":true}
转返回一个record对象.
(string DisplayName, bool? IsVip) tuple = ("cnblogs", true);
===>
record r(string DisplayName, bool? IsVip) ;
var tuple = new r("cnblogs", true);
tuple 本来就是item1,item2,itemN 这样命名属性的.
(string DisplayName, bool? IsVip) tuple 这只是一个语法糖. 对tuple的解构.
比如说对 tuple.DisplayName
的调用. 直接上去看反编译的代码就会发现是 tuple.Item1
https://learn.microsoft.com/zh-cn/dotnet/csharp/fundamentals/functional/deconstruct