我有一个应用程序设置:
"testData": [
{
"target": "MarketMirrorClient.GetContests",
"mockData": [
{
"request": {
"contestKeys": [ "testContestKey1" ]
},
"response": {
"contests": [
{
"contestKey": "testContestKey1",
"contestType": "football",
"contestStatus": "InPlay"
}
]
}
},
{
"request": {
"contestKeys": [ "testContestKey2" ]
},
"response": {
"contests": [
{
"contestKey": "testContestKey2",
"contestType": "soccer",
"contestStatus": "PreGame"
}
]
}
}
]
}
]
我将 testData.mockData.request 序列化为字典
builder.Services.Configure(“testData”);
型号有:
public class MockTestData
{
public List<TestData> TestData { get; set; } = new();
}
public class TestData
{
public string Target { get; set; }
public List<MockData> MockData { get; set; } = new();
}
public class MockData
{
public Dictionary<string, object> Request { get; set; }
public object Response { get; set; }
}
我应该在哪里实现 IConvertible?
我尝试将类型从对象更改为动态或 ExpandoObject,但错误是需要实现 IConvertible 或无法将对象转换为我要转换为的“任何”类型,即列表
这对我有用
List<TestDatum> testData = configuration.GetSection("testData").Get<List<TestDatum>>();
public class TestDatum
{
public string target { get; set; }
public List<MockDatum> mockData { get; set; }
}
public class Contest
{
public string contestKey { get; set; }
public string contestType { get; set; }
public string contestStatus { get; set; }
}
public class MockDatum
{
public Request request { get; set; }
public Response response { get; set; }
}
public class Request
{
public List<string> contestKeys { get; set; }
}
public class Response
{
public List<Contest> contests { get; set; }
}