This is the normal behavior of Protobuf. Google protobuf library does have a way to overcome this by using JsonPrintOptions and set always_print_primitive_fields to true. I did not find something similar in QT code.