Конвертировать byte [] в пользовательский объект Java - PullRequest
0 голосов
/ 17 сентября 2018
 private static MyClass doWork(byte[] body){        

    String data = new String(body);   
    Gson gson = new Gson();     
    final MyClass myClass = gson.fromJson(data, MyClass .class);  
    System.out.println("outsideLead"+myClass);
    return myClass;
}

byte[] body = {"N":"string","A":"string"}

Когда я пытаюсь преобразовать свой Byte [] в объект типа MyClass, он выдает ошибку, что ожидается объект json, а не был найден примитив json. Как правильно это сделать ??

1 Ответ

0 голосов
/ 17 сентября 2018

Полагаю, ваше тело байта [] не содержит '{' и '}'.Попробуйте что-то вроде следующего, и оно должно работать:

byte[] body = "{\"N\":\"string\",\"A\":\"string\"}".getBytes();

Ошибка просто говорит, что вместо поиска объекта JSON (который всегда начинается с '{') - парсер получил примитив - я думаю,строка "N".

...