以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);

以JSON形式返回post数据

如果您使用表单来发布数据,那么您可以使用[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