在POST方法中嵌套Json作为输入

本文关键字:输入 Json 嵌套 POST 方法 | 更新日期: 2023-09-27 18:28:23

我使用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没有值。

在POST方法中嵌套Json作为输入

在您的界面中尝试此操作

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

}

如果这对你没有帮助,请在这里发布你的接口详细信息endweb.config。

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

public void MyMethod(string timestamp, theNewClass json) ;

它奏效了。