gpt4 book ai didi

c# - Tuple 如何从 JSON 序列化和反序列化?

转载 作者:IT老高 更新时间:2023-10-28 12:50:44 28 4
gpt4 key购买 nike

我很好奇 Tuple<T1, T2, T3, ...>序列化和反序列化。我使用关键字“json”和“tuple”进行搜索,但找不到我想要的。

最佳答案

我通过 UnitTest 测试和 Json.net ,测试代码如下。结果显示Tuple<T1,T2,T3,...>是可序列化和可反序列化的。所以我可以在我的应用程序中使用它们。

测试代码

public class Foo {
public List<Tuple<string, string, bool>> Items { get; set; }

public Foo()
{
Items = new List<Tuple<string, string, bool>>();
}

public override string ToString()
{
StringBuilder sb = new StringBuilder();
foreach (var a in Items)
{
sb.Append(a.Item1 + ", " + a.Item2 + ", " + a.Item3.ToString() + "\r\n");
}
return sb.ToString();
}
}

[TestClass]
public class NormalTests
{
[TestMethod]
public void TupleSerialization()
{
Foo tests = new Foo();

tests.Items.Add(Tuple.Create("one", "hehe", true));
tests.Items.Add(Tuple.Create("two", "hoho", false));
tests.Items.Add(Tuple.Create("three", "ohoh", true));

string json = JsonConvert.SerializeObject(tests);
Console.WriteLine(json);

var obj = JsonConvert.DeserializeObject<Foo>(json);
string objStr = obj.ToString();
Console.WriteLine(objStr);
}
}

总结

  • Tuple.Create("own","hehe",true)序列化为 {"Item1":"one","Item2":"hehe","Item3":true}

  • {"Item1":"one","Item2":"hehe","Item3":true}可以反序列化回 Tuple<string,string, bool>

  • Class FooTuple数据,可以序列化为json字符串,字符串可以反序列化回Class Foo .

关于c# - Tuple 如何从 JSON 序列化和反序列化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16101115/

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