Putting a Character into a BSONObject will result in "json can't serialize type : class java.lang.Character".
The easy workaround is to use a String instead of Character.
However, the BSON encoder could be doing this lossless conversion automatically, and encode a Java character as a BSON one-character string. This would be in line with how both arrays and lists are accepted for BSON arrays.
Of course, decoding this data would return a String.