如何获取此代码并使其更具动态性?如何使方法动态加载键/值对?
现在我必须张贴JSON作为
{ values: [{Key: 'MyKey', Value: 'MyValue'}] }
理想我想后JSON,如:
{ values: [{Make: 'Car', Color: 'Red'}] }
OR
{ values: [{FirstName: 'George', LastName: 'Constanza'}] }
所以基本上我绑在我的JSON使用键/值。
如何动态加载值而不必使用键/值?
public class MyPerformerController : ApiController
{
[HttpPut("update/{myPath}")]
public Task<IActionResult> DoSomething(string myPath, [FromBody]MyCollection values)
{
foreach (var val in value)
{
var keyValue = val.Key;
var someValue = val.Value;
}
}
}
public class MyCollection : IEnumerable<KeyValuePair<string,string>>
{
public IEnumerable<KeyValuePair<string, string>> Values { get; set; }
public IEnumerator<KeyValuePair<string, string>> GetEnumerator()
{
return Values.GetEnumerator();
}
IEnumerator IEnumerable.GetEnumerator()
{
return GetEnumerator();
}
}
收到它作为一个字符串和反序列化到'动态'或'JObject'和解析在控制器上 – ASpirin
只是好奇,为什么你需要这个?在任何情况下,你必须为每个控制器/动作制定一个特定的逻辑,但在这种情况下,你只是拒绝基本的数据验证,如果你使用stricktly类型的对象,你会得到数据验证和转换逻辑。 – ASpirin