Christophe Lorenz created AVRO-1584:
---------------------------------------

             Summary: Json output doesn't generate base64 for byte arrays
                 Key: AVRO-1584
                 URL: https://issues.apache.org/jira/browse/AVRO-1584
             Project: Avro
          Issue Type: Bug
          Components: java
    Affects Versions: 1.7.7
         Environment: Pure java.
            Reporter: Christophe Lorenz


The Json output of java generated code doesn't correctly encode byte arrays.

Using this simple schema : 
{"namespace": "example.avro",
 "type": "record",
 "name": "ByteArrayEncoding",
 "fields": [     {"name": "data", "type": "bytes"} ]
}

The toString()  
        System.out.println(new ByteArrayEncoding(ByteBuffer.wrap(new 
byte[]{0,31,65,66,67,(byte)255,(byte)182})));

Returns raw bytes to string in the json :
{"data": {"bytes": "  ABC??"}}

As a byte array is not tied to be a valid string, it should be converted back 
and forth to Base64 like other Json implementations : 

{"data": {"bytes": "AB9BQkP/tg=="}}





--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to