将 JSON 字符串发送到 ASP.NET 核心 MVC 控制器

Sending JSON string to ASP.NET Core MVC Controller

我知道如何将简单对象从 JavaScript 发送到 ASP.NET 核心控制器。但是当我有 complex 一个 JSON 字符串时我应该做什么?

例如,我使用的是 Factory 库。在 JavaScript 中,所以当我序列化当前 Canvas 数据时,我得到 JSON 字符串,如下所示:

问题是:我应该在我的 ASP.NET 核心应用程序中创建这个复杂模型,还是有任何其他方法可以在我的控制器中获取这个 JSON 字符串?

我可以在我的控制器中使用一个简单的 json 字符串吗?

其实看你的需求了。

如果您确实需要一个提供一些方法来处理数据的模型,那么创建一个模型可能是个好主意。

如果您只需要反序列化 JSON 字符串并提取值,您可以像

这样编写控制器
public ActionResult xxx ([FromBody]dynamic postData)

它现在将接收字符串形式的请求正文。

请务必在您的 javascript 代码中将内容类型设置为 application/json

原始答案看起来是使用动态对象来处理 JSON 字符串。

另一种方法是将 JSON 字符串捕获到字符串中。

public IActionResult xxx(string id, [FromBody] string jsonString)

然后反序列化。

MyData myData = new JavaScriptSerializer().Deserialize<MyData>(jsonString);