将byte []转换为自定义Java对象

时间:2018-09-17 06:15:04

标签: java arrays json byte

 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 :(得分:1)

我猜你的byte []主体不包含'{'和'}'。尝试类似以下的方法,它应该可以工作:

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

错误仅表示,解析器得到了一个原语,而不是查找JSON对象(始终以'{'开头)。我猜字符串为“ N”。