Я пытаюсь связаться со службой C # wcf, которая принимает josn в качестве входных данных, где json содержит данные изображения, я написал клиент C #, где я преобразую объект (InputData), содержащий изображение в виде байта [], в json и отправляю его в сервер.
Client side:
InputData RequestData; //copied image data into RequestData obj
String jsonRequest = (new JavaScriptSerializer()).Serialize(RequestData); //converting obj to json
where :
public class InputData
{
private byte[] RawImage = null;
public byte[] FrontImage
{
get return this.FrontRawImage;
set if (null != value) { FrontRawImage = value.ToArray(); }
}
}
Server side:
//deserialize and get the object
InputData requestData = JsonConvert.DeserializeObject<InputData>(jsonData);
Я могу сделать это с клиентом C #, но проблема в том, что мне нужно передать эту службу WCF из клиента C ++, где я преобразую данные изображения (jpg) в строку ** (utf-8) **, а затем создаю json и отправка его в службу, но на стороне сервера я не могу десериализовать этот json в объект InputData (возвращая ноль с исключением неожиданных символов).
// Я получаю исключение на стороне сервера, которое говорит "неожиданный символ в запрашиваемых данных"
InputData requestData = JsonConvert.DeserializeObject (jsonData);
Я отлаживаю на стороне сервера =>
Данные запроса json от клиента c # выглядят как
"{\" Изображение \ ": [92,34,92,34,36,73, 56 ....... здесь огромные данные об изображении]}"
, где [92,34,92,34,36,73, 56 ....... огромные данные изображения здесь] являются фактическими данными изображения в формате json.
но когда я посылаю те же данные запроса из c ++, это выглядит как
"{\" Изображение \ ": ÉGÉìÉRÅ [ÉfÉBÉ ......... data}"
поэтому здесь я получаю сообщение об ошибке при десериализации данных json с использованием
InputData requestData = JsonConvert.DeserializeObject<InputData>(jsonData);
почему я не могу десериализовать данные обратно к объекту здесь, когда запрос приходит из c ++?
Не могли бы вы посоветовать мне способ отправить эти данные изображения в виде строки в службу wcf в C ++, где служба может успешно десериализовать данные обратно в объект.
есть ли способ, которым я могу преобразовать свои данные изображения примерно так [92,34,92,34, ........] в C ++, чтобы этот сервер мог десериализовать данные должным образом (я могу неправильно).
Спасибо заранее.