Java serialization : 382 bytes, starts with aced0005 (magic aced0005)
Jackson 3 JSON     : 223 bytes
Protobuf wire      : 80 bytes

JSON text: {"id":1000042,"customer":"Asha Mehta","currency":"INR","lines":[{"sku":"BK-JAVA-25","quantity":2,"priceMinor":49900},{"sku":"BK-JVM-INT","quantity":1,"priceMinor":79900},{"sku":"CBL-USB-C","quantity":3,"priceMinor":19900}]}

round trips equal  : java=true json=true protobuf=true

JSON cannot name a class to instantiate unless you opt in. Feeding it a type hint:
  parsed as Order[id=1, customer=x, currency=INR, lines=[]]
