我正在创建一个应用程序,并且在其中一个功能中,我需要通过Web请求发送json代码。
我使用Get,Post,Put和Delete。我已经可以创建连接并发送和接收数据。
但是,对于每个请求我都应该收到json代码。我相信我收到了,但我无法阅读...
我提供了一些代码示例,以便您可以查看是否有什么东西可以用来读取json代码
首先获取请求:
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create (this.getURL ());
webRequest.Method = "GET";
webRequest.ContentType = "application/json";
webRequest.Accept = "application/json";
var response = (HttpWebResponse)webRequest.GetResponse ();
var responseString = new StreamReader (response.GetResponseStream ()).ReadToEnd ();
webRequest.Abort();
return JArray.Parse (responseString);
这是我能阅读json答案的唯一案例。
下一篇文章请求:
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create (this.getURL ());
webRequest.Method = "POST";
webRequest.ContentType = "application/json";
webRequest.Accept = "application/json";
var data = Encoding.UTF8.GetBytes(request);
webRequest.ContentLength = data.Length;
Stream stream = webRequest.GetRequestStream ();
stream.Write (data, 0, data.Length);
stream.Close ();
var response = (HttpWebResponse)webRequest.GetResponse();
webRequest.Abort();
return (int)response.StatusCode;
在这个例子中,我使用响应代码解决了我的问题..响应代码只能是200,因为每个其他代码都被假定为异常。
对于put和delete将与post相同。 正如我所说,我需要收到json代码。而不仅仅是响应代码。
如果你能帮我解决这个问题,我将非常感激。
答案 0 :(得分:0)
感谢Orel尝试过帮助。
我解决了问题,我会为每个可能需要这种解决方案的人发布示例代码。
我的问题其实非常简单。 当我在Web请求中使用“POST”时,我会创建一个实际发布数据的流。然后我会尝试从同一个流中得到我的答案,实际上我在webRequest var中获取了我需要的信息。
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create (this.getURL ());
webRequest.Method = "POST";
webRequest.ContentType = "application/json";
webRequest.Accept = "application/json";
var data = Encoding.UTF8.GetBytes(request);
webRequest.ContentLength = data.Length;
Stream stream = webRequest.GetRequestStream ();
stream.Write (data, 0, data.Length);
var webResponse = (HttpWebResponse)webRequest.GetResponse();
var responseString = new StreamReader(webResponse.GetResponseStream()).ReadToEnd();
stream.Close ();webRequest.Abort();
return JObject.Parse(responseString);