Fix json generation bug

If a message consists entirely of optional fields and none of them are set then the message gets serialized to Json as `{` instead of `{}`.
These changes were caused by running `sbt test`.