这个问题对你来说可能很简单,但我无法在任何地方找到解决方案,我也在 SO 上进行了搜索。如何将对象内的对象集合发送到 C# API 方法,这是我尝试发送的代码
{
"Question":"sdvsdv",
"PollQuestions":
[
{
"QuestionText":"Question Text"
}
]
}
我也尝试过高级 REST 客户端(不仅来自 JS),我可以看到父对象参数的值,但 PollQuestions 对象参数都是空的。
请建议解决方法。已经几天了,我无法通过它。提前致谢。
编辑:
Poll 是一个像这样的简单类:
[Serializable]
[DataContract(Namespace = "")]
public class Poll
{
[DataMember]
public string Question
{
get;
set;
}
[DataMember]
public Collection<PollQuestion> PollQuestions { get; set; }
}
PollQuestion 对象:
[Serializable]
public class PollQuestion : AnotherClass
{
public string QuestionText
{
get;
set;
}
}
请您参考如下方法:
在您的情况下,如果问题是在 C# 中映射请求 JSON然后尝试下面的代码:
类结构:
public class PollQuestion
{
public string QuestionText { get; set; }
}
public class RootObject
{
public string Question { get; set; }
public List<PollQuestion> PollQuestions { get; set; }
}
在Post使用 [FromBody]将 JSON 映射到 C# 类的属性:
public void YourMethod([FromBody] RootObject data)
{
// your code to use request data
}
如果您使用的是 WebAPI version="5.2.3" (或者也可能在较低版本中受支持)无需将请求的 JSON 序列化为 C# 类。使用 this生成 C# JSON 的类(class).
对于JSON结构C#款待,
这个:
{
}
作为Object和
这个:
[]
到List<>或者 Array .
