以JSON形式返回post数据
本文关键字:post 数据 返回 JSON | 更新日期: 2023-09-27 18:10:15
考虑函数
public JsonResult poststuff()
{
var form = Request.Form;
return new JsonResult() { Data = form };
}
考虑提交的数据(JSON)
{
name: "John Doe",
age: "50"
}
这是我的问题
是否有任何方法返回post数据作为JSON?而不必将数据分开并将其插入到类型的对象中?
我觉得我一直在网上寻找答案,但一直未能找到一个…你知道我会向你求助。
returndata最好如下所示:
{数据:{姓名:"约翰·多伊",年龄:50}}或者更好的 {姓名:"约翰·多伊",年龄:50}
有可能用一种简单的方式来做吗?我知道这是PHP,但我从来没有成功地在c# .NET中找到答案
作为参考,在PHP中可以像
一样简单地创建期望的结果。$input_data = json_decode(trim(file_get_contents('php://input')), true);
echo json_encode($input_data);
如果您使用表单来发布数据,那么您可以使用[FormCollection][1]
类,如下所示:
[HttpPost]
public ActionResult PostStuff(FormCollection formCollection)
{
Dictionary<string, string> data = new Dictionary<string, string>();
//If data is POSTed as a form
foreach (var key in formCollection.AllKeys)
{
var value = formCollection[key];
data.Add(key, value);
}
return Json(data, "application/json", JsonRequestBehavior.AllowGet);
}
在这里,我们只是循环遍历来自表单的集合post并将其添加到字典中。然后将此字典传递给JsonResult
。