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; }
}