json无法从String反序列化byte类型的值

时间:2016-11-10 17:42:57

标签: java json jackson

在Spring java应用程序中,我收到了以下输入的REST json请求,其中' mode'字段在java类中定义为byte。

{
  "application": "sadsd",
  "date": "20161109",
  "mode": "A",
  "catalogId": 0,
}

pojo -

public class Test {
  String application;
  String date;
  byte mode;
  int catalogId;
...
}

获得关注错误 -

"exception": org.springframework.http.converter.HttpMessageNotReadableException",
  "message": "Could not read document: Can not deserialize value of type byte from String \"A\":
not a valid Byte value\n at 
[Source: java.io.PushbackInputStream@6386b197; line: xx, column: xx] 
(through reference chain: com.abc.myInput[\"mode\"]); 

`enter code here`nested exception is com.fasterxml.jackson.databind.exc.InvalidFormatException:
Can not deserialize value of type byte from String \"A\":

not a valid Byte value\n at [Source: java.io.PushbackInputStream@6386b197; line: xx, column: xx] 
(through reference chain: com.abc.myInput[\"mode\"])",`

我必须在这里编写串行器和解串器吗?
是否有任何注释可用于字段字段或该字段的get / set方法而无需编写任何其他代码?

1 个答案:

答案 0 :(得分:0)

我只是将它们声明为String并从输入字符串中获取第一个字节并将字节转换为字符串以用于输出。
感谢输入cricket_007和jnbbender。