繁体   English   中英

将发布数据作为JSON返回

[英]Returning post data as JSON

考虑功能

public JsonResult poststuff()
    {
        var form = Request.Form;
        return new JsonResult() { Data = form };
    }

考虑提交的数据(JSON)

    {
        name: "John Doe",
        age: "50"
    }

这是我的问题

有什么方法可以将发布数据作为JSON返回吗? 不必拆开数据并将其插入类型的对象中?

我觉得我一直在网上寻找答案,但是却找不到一个……知道我转向你了。

returndata将首选如下:

{数据:{名称:“ John Doe”,年龄:50}} 甚至更好的 {名称:“ John Doe”,年龄: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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM