У меня есть следующий JSON для POST к моей конечной точке Web API.
[
{
"name": "REGION",
"value": ["MA", "SE", "SW"]
}
]
Конечная точка Web API выглядит следующим образом
public class Parameter
{
public string Name { get; set; }
// Value can be string, string[], int, or int[]
public dynamic Value { get; set; }
}
[Route("{chart}/data/")]
[HttpPost]
public IHttpActionResult GetData(string chart, IList<Parameter> parameters)
{
// ... do stuff ...
}
Всякий раз, когда value
в JSON являетсямассив десериализованного параметра Value
представляет собой JArray
, а не массив string
, int
и т. д. Однако, если value
является просто string
или number
, тогда Value
вДесериализованные параметры также string
или number
.
Что дает?Почему массив в JSON не десериализован в массив правильного типа?