2012-03-21 48 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,如果这是你没有帮助。