當前位置:編程學習大全網 - 源碼下載 - c#中如何從HTTP發送、接收、分解jason格式的數據?

c#中如何從HTTP發送、接收、分解jason格式的數據?

[網絡方法]

公共字符串項目(字符串參數)

{

返回參數;

}

實現代碼

公共字符串Post(string methodName,string jsonParas)

{

string strURL = Url+"/"+method name;

//創建壹個HTTP請求。

HttpWebRequest請求= (HttpWebRequest)WebRequest。創建(strURL);

//發布請求模式

請求。Method = " POST

//內容類型

請求。content type = " application/x-www-form-urlencoded ";

//設置參數並對URL進行編碼。

//雖然我們需要傳遞給服務器的實際參數是JsonParas(格式:[{\ "userid \": \ "020601 \ ",\ "用戶名\": \ "史策\"}]),

//但字符串參數需要構造成鍵值對(註:“paramaters =[{ \ " userid \ ":\ " 020601 \ ",\" username \ ":\ "史策\ "}]))。

//其中key paramaters是WebService接口函數的參數名,值是序列化的Json數據字符串。

//最後,Url對字符串參數進行編碼。

string paraUrlCoded = System。web . http utility . urlencode(" paramaters ");

paraUrlCoded += "=" +系統。web . http utility . urlencode(JSON paras);

byte[]有效負載;

//將Json字符串轉換成字節

有效載荷=系統。text . encoding . utf8 . getbytes(paraurl coded);

//設置請求的內容長度

請求。內容長度=有效載荷。長度;

//發送請求以獲取請求流。

流作者;

嘗試

{

作者=請求。GetRequestStream();//獲取用於寫入請求數據的流對象。

}

捕捉(異常)

{

writer = null

控制臺。Write("連接服務器失敗!");

}

//將請求參數寫入流

作家。寫(有效負載,0,有效負載。長度);

作家。close();//關閉請求流

字符串strValue =//strValue是http響應返回的字符流。

HttpWebResponse響應;

嘗試

{

//獲取響應流

response = (HttpWebResponse)請求。GetResponse();

}

catch (WebException ex)

{

響應= ex。作為HttpWebResponse的響應;

}

流s =響應。GetResponseStream();

//服務器返回壹個XML格式的字符串,XML的內容就是我們需要的Json數據。

XmlTextReader Reader =新的XmlTextReader;

讀者。move to content();

strValue = Reader。ReadInnerXml();//取出內容中的Json數據。

讀者。close();

南close();

返回strValue//返回Json數據。

}

  • 上一篇:有哪些適合大學生的創業項目?
  • 下一篇:Python 實現遞歸
  • copyright 2024編程學習大全網