我有一个工作网络服务,它使用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。
答案 0 :(得分:0)
您可以先将Deserialize
Batchdata对象转换为JSON。
string json = JsonConvert.DeserializeObject(batchdata);