向 Dynamic.ExpandoObject 对象添加某种接口
Add some sort of interface to a Dynamic.ExpandoObject object
我正在使用一个 return a IList<dynamic>
(来自 jsonArray)的库,dynamic
意味着在使用此类对象时没有任何智能感知,我希望能够只需定义动态对象包含的内容。
假设您正在调用某个 https://dummy-url.com/something
端点,其中 returns 以下 JSON:
[
{
"firstProp": "First value",
"secondProp": "Second value",
"intProp": 1337
},
{
"firstProp": "Another first value",
"secondProp": "Another second value",
"intProp": 42
}
]
然后您需要在程序中定义一个 class 来表示 JSON 结构,例如:
public class Something
{
public string FirstProp { get; set; }
public string SecondProp { get; set; }
public int IntProp { get; set; }
}
最后,调用该端点并将其结果反序列化为您 class:
定义的对象
public async IList<Something> FetchListOfSomething()
{
var url = "https://dummy-url.com/something";
return await url.GetJsonAsync<List<Something>>();
}
我正在使用一个 return a IList<dynamic>
(来自 jsonArray)的库,dynamic
意味着在使用此类对象时没有任何智能感知,我希望能够只需定义动态对象包含的内容。
假设您正在调用某个 https://dummy-url.com/something
端点,其中 returns 以下 JSON:
[
{
"firstProp": "First value",
"secondProp": "Second value",
"intProp": 1337
},
{
"firstProp": "Another first value",
"secondProp": "Another second value",
"intProp": 42
}
]
然后您需要在程序中定义一个 class 来表示 JSON 结构,例如:
public class Something
{
public string FirstProp { get; set; }
public string SecondProp { get; set; }
public int IntProp { get; set; }
}
最后,调用该端点并将其结果反序列化为您 class:
定义的对象public async IList<Something> FetchListOfSomething()
{
var url = "https://dummy-url.com/something";
return await url.GetJsonAsync<List<Something>>();
}