Как использовать retrofit2 для получения байтового массива, который является частью объекта - PullRequest
0 голосов
/ 24 октября 2019

Массив байтов в моем объекте преобразуется в строку при сериализации с использованием JSON. Из-за этого я получаю Ожидаемый BEGIN_ARRAY, но было сообщение STRING , когда я отправляю JSON клиенту, который использует retrofit2

Я пытался использовать доступные методы сериализации JSON.Net, все, что я получаю с байтомсериализация массива представляет собой строку

JToken.FromObject (книга);

JsonConvert.SerializeObject (книга);

MyPOCO (C #)

   public class Book
    {
        public string bookCode { get; set; }

        public byte[] bookThumbnail { get; set; }

        public byte[] data { get; set; }

        public bool active { get; set; }
    }

Пример кода

 Book book = new Book()
 {
     bookCode = "0001",
     bookThumbnail = Encoding.UTF8.GetBytes("sample data data")
     data = Encoding.UTF8.GetBytes("some book content"),
     active = true
 };

JToken.FromObject(book); //the output of the byte array is string
JsonConvert.SerializeObject(book); //the output of the byte array is string

Ожидаемый формат результата JSON:

{
    "bookCode": "0001",
    "bookThumbnail": [],
    "data": []
}

и NOT

{
    "bookCode": "0001",
    "bookThumbnail": "",
    "data": ""
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...