2015-10-08 125 views
0

我需要在web api中接收json的方法,但其結構是動態的。我試圖使用下面的代碼,但始終值爲空。ASP.NET Web api POST方法動態參數爲空

[HttpPost] 
public class TestController : Controller 
{ 
    public JsonResult DoJob(dynamic value) 
    { 
     //Work with parameter 
    }  
} 

使用此JSON

{"testObject":{"property":"value"}, "otherPropery": "otherValue"} 

UPDATE: 這就是我從客戶端發送請求

value is {"testObject":{"property":"value"}, "otherPropery": "otherValue"} 
$http.post("test/dojob",value); 
+0

你怎麼罵'測試/ DoJob'網址是什麼? – Igor

+0

/test/dojob。我已經在其中沒有'api'的情況下重新設置了默認網址。 –

+0

顯示javascript代碼 – Igor

回答

2

參數由他們的名字綁定:

var value = { "value": { 
    "testObject": { "property": "value" }, 
    "otherPropery": "otherValue" 
} }; 
$http.post("test/dojob",value); 
+0

是的,情況就是如此。謝謝 –

1

我認爲,JSON的結果,如果你這樣做是等同於字符串

[HttpPost] 
public class TestController : Controller 
{ 
    public JsonResult DoJob(string value) 
    { 
     //Work with parameter 
    }  
} 

它應該工作的控制器操作方法

+0

仍然一樣,value參數爲null。 –

+0

你如何打電話給控制器? – ChaosPattern

+0

我使用角度http服務,我將添加如何從javascript端調用api –