如何将字符串数组反序列化为 class[]?
How can i deserialize an string array to class[]?
我的 ajax 将以下数组发送到控制器
{"checkedValues":["{ \"o\": 1, \"v\":1}","{ \"o\": 1, \"v\":2}"]}
控制器读取数据为字符串数组
public IActionResult Filter([FromBody] Rootobject checkedValues = null)
{
}
哪里
public class Rootobject
{
public string[] checkedValues { get; set; }
}
如何将数据反序列化为
数组
public class Filter
{
public int o { get; set; }
public int v { get; set; }
}
我尝试了以下方法,但没有成功
public class Rootobject
{
public Filter[] checkedValues { get; set; }
}
我以前见过这个:JSON JSON。这通常是一个错误。
作为解决方法,您需要双重反序列化:
public class Rootobject
{
public string[] checkedValues { get; set; }
}
public class Filter
{
public int o { get; set; }
public int v { get; set; }
}
var values = JsonConvert
.DeserializeObject<Rootobject>(json)
.checkedValues
.Select(JsonConvert<Filter>)
.ToList();
仅对 newtonsoft 进行尝试:
var reult = JsonConvert.DeserializeObject<List<Filter>>(checkedValues.checkedValues);
最后:
public IActionResult Filter([FromBody] Rootobject checkedValues = null)
{
var reult = JsonConvert.DeserializeObject<List<Filter>>(checkedValues.checkedValues);
}
我的 ajax 将以下数组发送到控制器
{"checkedValues":["{ \"o\": 1, \"v\":1}","{ \"o\": 1, \"v\":2}"]}
控制器读取数据为字符串数组
public IActionResult Filter([FromBody] Rootobject checkedValues = null)
{
}
哪里
public class Rootobject
{
public string[] checkedValues { get; set; }
}
如何将数据反序列化为
数组public class Filter
{
public int o { get; set; }
public int v { get; set; }
}
我尝试了以下方法,但没有成功
public class Rootobject
{
public Filter[] checkedValues { get; set; }
}
我以前见过这个:JSON JSON。这通常是一个错误。
作为解决方法,您需要双重反序列化:
public class Rootobject
{
public string[] checkedValues { get; set; }
}
public class Filter
{
public int o { get; set; }
public int v { get; set; }
}
var values = JsonConvert
.DeserializeObject<Rootobject>(json)
.checkedValues
.Select(JsonConvert<Filter>)
.ToList();
仅对 newtonsoft 进行尝试:
var reult = JsonConvert.DeserializeObject<List<Filter>>(checkedValues.checkedValues);
最后:
public IActionResult Filter([FromBody] Rootobject checkedValues = null)
{
var reult = JsonConvert.DeserializeObject<List<Filter>>(checkedValues.checkedValues);
}