Javascript 将对象内的对象集合从js传递到C
这个问题对你来说很容易,但我在任何地方都找不到答案,我也一直在搜索。如何将对象中的对象集合发送给C API方法,下面是我尝试发送的代码Javascript 将对象内的对象集合从js传递到C,javascript,c#,api,asp.net-web-api,asp.net-core,Javascript,C#,Api,Asp.net Web Api,Asp.net Core,这个问题对你来说很容易,但我在任何地方都找不到答案,我也一直在搜索。如何将对象中的对象集合发送给C API方法,下面是我尝试发送的代码 { "Question":"sdvsdv", "PollQuestions": [ { "QuestionText":"Question Text" } ] } 我也尝试过使用高级REST客户端,不仅是从JS,我可以
{
"Question":"sdvsdv",
"PollQuestions":
[
{
"QuestionText":"Question Text"
}
]
}
我也尝试过使用高级REST客户端,不仅是从JS,我可以看到父对象参数的值,而且所有对象参数都是空的
请推荐一个工作环境。已经过了几天了,我过不去。提前谢谢
编辑:
以下是API方法的外观:
高级Rest客户端请求:
JS请求:
Poll是这样一个简单的类:
[Serializable]
[DataContract(Namespace = "")]
public class Poll
{
[DataMember]
public string Question
{
get;
set;
}
[DataMember]
public Collection<PollQuestion> PollQuestions { 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; }
}
如果您使用的是WebAPI version=5.2.3,或者可能在较低版本中受支持,那么也无需将请求的JSON序列化为C类。用于为JSON生成C类
对于JSON结构C treats
这:
作为对象和
这:
列表或数组。在您的情况下,如果问题是在C中映射请求JSON,请尝试以下代码: 班级结构:
public class PollQuestion
{
public string QuestionText { get; set; }
}
public class RootObject
{
public string Question { get; set; }
public List<PollQuestion> PollQuestions { get; set; }
}
如果您使用的是WebAPI version=5.2.3,或者可能在较低版本中受支持,那么也无需将请求的JSON序列化为C类。用于为JSON生成C类
对于JSON结构C treats
这:
作为对象和
这:
列表或数组。我在.NET Core中设置了一个简单的示例项目,它似乎可以很好地处理您的JSON数据 以下是我使用的类:
public class PollQuestion
{
public string QuestionText { get; set; }
}
public class Poll
{
public string Question { get; set; }
public List<PollQuestion> PollQuestions { get; set; }
}
当我发出邮递员请求时,投票类会按预期填充
这里还有一个指向我的示例项目的链接:
你能在你的项目中改变你的模型来匹配我的吗?看看这是否有效?我猜您的模型是不正确的,因为JSON请求也适用于我。如果它不起作用,你能上传一个示例项目吗?这样我就可以查看是否可以修改它以使其起作用了?我在.NET Core中设置了一个简单的示例项目,它似乎可以很好地处理你的JSON数据 以下是我使用的类:
public class PollQuestion
{
public string QuestionText { get; set; }
}
public class Poll
{
public string Question { get; set; }
public List<PollQuestion> PollQuestions { get; set; }
}
当我发出邮递员请求时,投票类会按预期填充
这里还有一个指向我的示例项目的链接:
你能在你的项目中改变你的模型来匹配我的吗?看看这是否有效?我猜您的模型是不正确的,因为JSON请求也适用于我。如果它不起作用,您能否上传一个示例项目,以便我查看是否可以修改它以使其起作用?我继承了一个使用[DataContract]和[DataMember]属性的类,因此我还必须对子类的所有参数使用DataMember 感谢大家的回答,但当参数类型复杂时,API方法中不需要[FromBody] 如果您没有在类中的任何位置使用DataMember,也没有继承任何使用它的类,那么它也可以在没有DataContract和DataMember的情况下工作
您可以在这里获得更多信息:我继承了一个使用[DataContract]和[DataMember]属性的类,因此我还必须对子类的所有参数使用DataMember 感谢大家的回答,但当参数类型复杂时,API方法中不需要[FromBody] 如果您没有在类中的任何位置使用DataMember,也没有继承任何使用它的类,那么它也可以在没有DataContract和DataMember的情况下工作
您可以在此处获得更多信息:ASP.NET核心,是吗?请放置相应的标签。如何传递json?请显示js代码。不是ASP.NET、ASP.NET Core和ASP.NET-web-api或ASP.NET mvc。我已经添加了我所做的所有截图。@Md.AbdulAlim[FromBody]是任何复杂类型的默认值。ASP.NET Core,是吗?请放置相应的标签。如何传递json?请显示js代码。不是ASP.NET、ASP.NET Core和ASP.NET-web-api或ASP.NET mvc。我已经添加了我所做的所有截图。@Md.AbdulAlim[FromBody]是任何复杂类型的默认值。
[]
public class PollQuestion
{
public string QuestionText { get; set; }
}
public class Poll
{
public string Question { get; set; }
public List<PollQuestion> PollQuestions { get; set; }
}
[HttpPost]
public void Post([FromBody]Poll value)
{
}