2012-02-21 37 views
0

我有一個工作使用C#與Android設備交換JSON數據的webservice(謝謝GSON!)。該方法最終返回有效的JSON響應。如何在C#中接收字符串JSON使用JSON.net的Webservice

[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

您可以將Deserialize的Batchdata對象先轉換爲JSON。

string json = JsonConvert.DeserializeObject(batchdata); 
相關問題