嵌套的Json作为POST方法的输入

时间:2012-03-21 07:52:33

标签: c# json wcf rest

我用Fiddler来调用我的方法。以下是参数:

{"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没有值。

2 个答案:

答案 0 :(得分: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) ;

}

如果这对您没有帮助,请在此处发布您的界面详细信息end web.config。

答案 1 :(得分:0)

我所做的是创建一个具有以下属性的新类:List,List,List,并且我更改了方法:

public void MyMethod(string timestamp, theNewClass json) ;

并且有效。