【发布时间】:2017-06-01 12:37:20
【问题描述】:
我尝试使用类似这样的数组发送到 REST Api 对象:
class MyObject
{
public string Name{get; set;}
public IEnumerable<RelatedObject> Related{get; set;}
}
class RelatedObject
{
public string Name{get;set;}
}
JSON 格式是这样的:
{
"Name": "TestName",
"Related": [{
"Name": "TestNameRelated1"
}{
"Name": "TestNameRelated2"
}]
}
有方法声明
public void Post([FromBody]MyObject value) ...
问题是值始终为空。我试图将 MyObject 和 RelatedObject 之间的关系从 1:N 更改为 1:1,我更改了 JSON 字符串并且我得到了正确的值。 我想问题是转换数组?我试图将 IEnumerable 更改为 List 但没有发生任何事情并且值为空。
如何将数组转换为 IEnumerable?如何使用自己的 JSON 转换器?我在客户端解决了这个问题,但在服务器端序列化为对象是内置的。
谢谢。
【问题讨论】:
-
尝试将 IEnumerable 更改为 IList 并查看
-
问题在于你的 json 字符串..
-
我将 IEnumerable 更改为 List 但值仍然为空。