2015-08-27 85 views
0

考慮功能返回後的數據作爲JSON

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

考慮提交的數據(JSON)

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

這是我的問題

有沒有辦法返回崗位數據爲JSON?無需將數據分開並將其插入到某個類型的對象中?

我覺得我一直在網上尋找答案,但一直沒有找到答案......並知道我轉向你。

的returndata會中將優先爲以下幾點:

{ 數據:{ 名稱: 「李四」, 年齡:50 } } 甚至更​​好 { 名稱: 「John Doe」, 年齡段:50 }

甚至有可能以簡單的方式做到這一點?我知道這是我的PHP,但如果您使用我從來沒有成功地找到了在C#.NET

一個答案作爲參考,希望結果可以PHP創建一樣容易

$input_data = json_decode(trim(file_get_contents('php://input')), true); 
echo json_encode($input_data); 
+0

是不是這個數據和你發佈的一樣?你爲什麼需要它? –

+0

你使用ASP.Net MVC還是Web API? – Carlos487

+0

@ Carlos487 JsonResult特定於Mvc,不是嗎? –

回答

0

形式發佈數據,那麼你可以使用[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); 
} 

在這裏,我們只是通過表單上傳的內容收集循環並將其添加到字典中。這本字典然後傳遞給JsonResult