using System; using System.Text.Json.Serialization; namespace Util.Tests.Samples; public class A { public string Name { get; set; } public B B { get; set; } } public class B { public string Name { get; set; } public C C { get; set; } } public class C { public string Name { get; set; } public A A { get; set; } } /// /// Json测试样例 /// public class JsonTestSample : IJsonTestSample { /// /// 名称,测试公共属性,且首字母大写 /// public string Name { get; set; } /// /// 私有属性,应被忽略 /// private string A { get; set; } /// /// 昵称,用来测试小写 /// public string nickname { get; set; } /// /// 用于测试JsonPropertyName特性 /// [JsonPropertyName("firstName")] public string FirstName { get; set; } /// /// 测试null /// public object Value { get; set; } /// /// 日期 /// public DateTime? Date { get; set; } /// /// Utc日期 /// public DateTime? UtcDate { get; set; } /// /// 测试整型,不添加引号 /// public int Age { get; set; } /// /// 测试布尔型 /// public bool IsShow { get; set; } /// /// 测试枚举 /// public TestEnum Enum { get; set; } /// /// 测试可空枚举 /// public TestEnum? NullableEnum { get; set; } /// /// 创建样例 /// public static JsonTestSample Create() { return new JsonTestSample() { Name = "a", A = "1", nickname = "b", FirstName = "c", Value = null, Date = new DateTime( 2012,12,12,20,12,12, DateTimeKind.Local ), UtcDate = new DateTime( 2012, 12, 12, 12, 12, 12,DateTimeKind.Utc ), Age = 1, IsShow = true }; } /// /// 创建样例 - 转成接口 /// public static IJsonTestSample CreateToInterface() { return Create(); } } /// /// Json测试样例 /// public class JsonTestSample2 { /// /// 测试long /// public long Long { get; set; } /// /// 测试long? /// public long? NullableLong { get; set; } } /// /// Json测试样例 /// public interface IJsonTestSample { /// /// 名称,测试公共属性,且首字母大写 /// public string Name { get; set; } } /// /// 测试枚举 /// public enum TestEnum { Test1 = 1, Test2 = 2 } /// /// Json测试样例 /// public class JsonTestSample3 { public string Name { get; set; } }