带数组的C#REST Web Api POST对象
我尝试使用如下数组发送到REST Api对象:带数组的C#REST Web Api POST对象,c#,arrays,json,rest,C#,Arrays,Json,Rest,我尝试使用如下数组发送到REST Api对象: class MyObject { public string Name{get; set;} public IEnumerable<RelatedObject> Related{get; set;} } class RelatedObject { public string Name{get;set;} } 还有方法声明 public void Post([FromBody]MyObject value) .
class MyObject
{
public string Name{get; set;}
public IEnumerable<RelatedObject> Related{get; set;}
}
class RelatedObject
{
public string Name{get;set;}
}
还有方法声明
public void Post([FromBody]MyObject value) ...
问题是这个值总是空的。我尝试将MyObject和RelatedObject之间的关系从1:N更改为1:1,我更改了JSON字符串并正确地获得了值。
我想问题是转换数组?我试图将IEnumerable更改为List,但没有任何结果,值为null
如何将数组转换为IEnumerable?如何使用自己的JSON转换器?我在客户端解决了这个问题,但在服务器端,对象的序列化是内置的
谢谢。这不是有效的json,json数组中的值之间应该有“,” 试试这个
尝试将IEnumerable更改为IList,然后查看问题是关于我们的json字符串。我将IEnumerable更改为List,但值仍然为null。发生了什么变化?@Patrickhoffman OP在
相关的数组中缺少一个,
,这将是回答中非常有用的信息,你不认为吗@suraj我希望Amitay能理解答案很不清楚,基本上只是一个代码转储,几乎没有什么用处。我同意。。如果我是回答者,我会加上:)谢谢,它很有效。
public void Post([FromBody]MyObject value) ...
{
"Name": "TestName",
"Related": [{
"Name": "TestNameRelated1"
},{
"Name": "TestNameRelated2"
}]
}