JSON 表示布尔值标准的形式是 true
和 false
,如果 Java 对应的类型是对象 Boolean,那么在 JSON 中也可以是 null
。如果收到 JSON 数据是用 'Y'/'N', 或 'Yes'/'No' 来表示布尔值的,那么使用 Java 的 Jackson 库如何把它们反序列化为相应的布尔属性值呢?
如果按照 JSON 规范必须把内容中的布尔值全部转换为 true
或 false
, 然而再反序列化,否则需要定制 Boolean
类型的反序列化类,可应用到全局的 boolean 类型,或指派给特定的 boolean 类型属性。
如果尝试反序列化 Y
, 或 N
为 Java 的 boolean 值,会有只接受 true 或 false 的异常:
com.fasterxml.jackson.databind.exc.InvalidFormatException: Can not deserialize value of type java.lang.Boolean from String "Y": only "true" or "false" recognized
具体步骤是: 阅读全文 >>