Согласно вашему коду, возвращаемый json не в строковом формате, это байтовый массив?
Это связано со стороной сервера, кодирует ли сервер содержимое перед отправкой обратно?
Извините, я пытался добавить комментарии, но мой уровень слишком низкий, я могу только публиковать ответы, надеюсь, что некоторые из моих идей могут помочь.
в моем проекте на стороне сервера мы используем код ниже для отправки ответа
public System.Net.Http.HttpResponseMessage GetServiceStatus()
{
......
string sJsonRet = JsonHelper.Serialize(rspMsg);
System.Net.Http.HttpResponseMessage resp = new System.Net.Http.HttpResponseMessage(System.Net.HttpStatusCode.OK);
resp.Content = new System.Net.Http.StringContent(sText,System.Text.Encoding.UTF8, "text/plain");
return resp;
}
Клиентская сторона, вы всегда получаете текстовую строку, и мы используем System.Net.WebClient.
internal void GetServiceStatusCompleted(object sender, UploadStringCompletedEventArgs e){
......
string response = e.Result;
if ((response != null) && (response.Length > 0))
status = (ServiceStatusMsg)JsonHelper.Deserialize(typeof(ServiceStatusMsg), response);
}