如何在使用JSON.net的C#JSON Webservice中接收字符串

时间:2012-02-21 02:22:50

标签: json json.net

我有一个工作网络服务,它使用C#与Android设备交换JSON数据(谢谢GSON!)。该方法最终返回有效的JSON响应。

[WebMethod(EnableSession = true,Description="My Description")]
public string PostBatchData(Batchdata batchdata)
{
 //  my method
return JSONstring;
}

我想使用JSON.net,所以我可以进行错误检查等。我的问题是:我应该如何将对象(这是在HTML POST中接收JSON)转换为字符串,以便我可以使用JSON.net进行解析POST?我试过了

public string PostBatchData(string batchdata){}

但这种方法不起作用(可能在URL中寻找参数)。

下面的摘录是Fiddler正在捕捉的......(我为了简洁而编辑)。

POST http://www.myurl.com/JSONHandler.asmx/PostBatchData HTTP/1.1
Accept: application/json
Content-type: application/json
Content-Length: 2088
Content-Type: application/json
Host: www.myurl.com
Connection: Keep-Alive
{"batchdata":{"uname":"user1... }

在该方法中,我想我想使用类似的东西:

var container = Test.DeserializeFromJson<RootObject>(jsonstring); 

但我要求提示如何从HTTP POST填充jsonstring。

1 个答案:

答案 0 :(得分:0)

您可以先将Deserialize Batchdata对象转换为JSON。

string json = JsonConvert.DeserializeObject(batchdata);