如何通过 http 发送和接收 json 数据的意外大小?
How to send and receive an unexpectable size of json data over http?
我正在实施一个 Spring HTTP 服务器和一个 C# 客户端 request/response 一些数据集。我发现发送预期大小的数据很容易,但是如果服务器的数据响应出乎意料,我该怎么办?
例如,服务器将响应三个字符串:[data="",x="",y=""]。
但是,它可以发送不止一组。像这样。
[data1="", x1="",y1=""], [data2="", x2="",y2=""], [data3="", x3="",y3=""] .
我认为这不是解决此类问题的明智方法。拜托,有人可以给我介绍另一个吗?
对于C#客户端,可以使用WebRequest to retrieve your data, and Json.Net反序列化。
private static TResponse GetResponseValue<TResponse>(WebRequest webRequest)
{
using (var webResponse = webRequest.GetResponse())
using (var responseStream = webResponse.GetResponseStream())
using (var streamReader = new StreamReader(responseStream))
using (var jsonTextReader = new JsonTextReader(streamReader))
{
var jsonSerializer = new JsonSerializer();
return jsonSerializer.Deserialize<TResponse>(jsonTextReader);
}
}
我正在实施一个 Spring HTTP 服务器和一个 C# 客户端 request/response 一些数据集。我发现发送预期大小的数据很容易,但是如果服务器的数据响应出乎意料,我该怎么办?
例如,服务器将响应三个字符串:[data="",x="",y=""]。 但是,它可以发送不止一组。像这样。 [data1="", x1="",y1=""], [data2="", x2="",y2=""], [data3="", x3="",y3=""] . 我认为这不是解决此类问题的明智方法。拜托,有人可以给我介绍另一个吗?
对于C#客户端,可以使用WebRequest to retrieve your data, and Json.Net反序列化。
private static TResponse GetResponseValue<TResponse>(WebRequest webRequest)
{
using (var webResponse = webRequest.GetResponse())
using (var responseStream = webResponse.GetResponseStream())
using (var streamReader = new StreamReader(responseStream))
using (var jsonTextReader = new JsonTextReader(streamReader))
{
var jsonSerializer = new JsonSerializer();
return jsonSerializer.Deserialize<TResponse>(jsonTextReader);
}
}