2012-03-21 25 views
0

我使用Fiddler來調用我的方法。以下是參數:在POST方法中嵌套的Json作爲輸入

{"timestamp":"", 
"json": 
    { 
     "something":[{"text":"bla","status":"1"},{"text":"sfdf","status":"1"}], 
     "somethingElse":[{"description":"description""status":"1"}], 
     "som1":[{"id":"1""status":"1"}] 
    } 
} 

該方法的路徑是正確的。這是簽名:

public void MyMethod(string timestamp, string json) 

但它永遠不會被調用。如何修改我的方法,以便它被調用?參數'json'是不是字符串?

我通過Fiddler撥打電話。我的方法是在C#中。該項目是Wcf服務。

我試着改變json的類型從字符串到對象,並調用方法,但json沒有任何價值。

+0

我想知道你使用的是什麼語言,你的設置在什麼環境中?請重新標記並添加更多信息。 – 2012-03-21 07:58:42

+0

@NickWeaver我通過Fiddler撥打電話。我的方法是在C#中。 – 2012-03-21 08:00:53

+0

WCF,Web服務,Web API,Open Rasta? – 2012-03-21 08:38:39

回答

0

我所做的就是創建一個新的類,它有這些屬性:列表,列表,列表中,我改變了方法:

public void MyMethod(string timestamp, theNewClass json) ; 

和它的工作。

1

試試這個在你的界面,

public interface IRestFulWCF 
{ 
    [OperationContract(Name = "MyMethod")] 
    [WebInvoke(
     RequestFormat=WebMessageFormat.Json, 
     UriTemplate="/Example", 
     Method="POST", 
     BodyStyle=WebMessageBodyStyle.WrappedResponse) 
    ] 
    public void MyMethod(string timestamp, string json) ; 

}

請在這裏發表您的接口細節結束的web.config,如果這是你沒有幫助。