发送和接收Json,无法阅读回复

时间:2014-06-28 10:23:10

标签: c# json

我正在创建一个应用程序,并且在其中一个功能中,我需要通过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代码。而不仅仅是响应代码。

如果你能帮我解决这个问题,我将非常感激。

1 个答案:

答案 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);
相关问题