What steps will reproduce the problem?
1. Create a Message with UnknownFields
2. Call `JsonFormat.printToString` to convert message to JSON
Sample Code
-----------
User.Builder userB =
User.newBuilder().setFirstName("Rajini").setLastName("Kanth");
// Used setUnknownFields just to reproduce the issue.
userB.setUnknownFields(UnknownFieldSet.newBuilder().addField(50,
Field.newBuilder().addFixed32(999).build()).build());
What is the expected output? What do you see instead?
Expected:
{"first_name": "Rajini","last_name": "Kanth", "50": 0x000003e7}
Actual:
{"first_name": "Rajini","last_name": "Kanth""50": 0x000003e7
}
// Comma is missing after `last_name` field
What version of the product are you using? On what operating system?
protobuf-format-java-1.1.jar
Please provide any additional information below.
I used `setUnknownFields` just to reproduce the issue. In our case, Same proto
object will be present in Server and Client server. When we add a new field in
Server, client will consider new field as unknown field till client upgrade to
latest protobuf object.
Jsonformat.printString formatting breaks when server and client has different
version of protobuf object and server has some additional field.
Original issue reported on code.google.com by mani...@gmail.com on 18 Jun 2015 at 12:35
User.Builder userB = User.newBuilder().setFirstName("Rajini").setLastName("Kanth"); // Used
setUnknownFields
just to reproduce the issue. userB.setUnknownFields(UnknownFieldSet.newBuilder().addField(50, Field.newBuilder().addFixed32(999).build()).build());System.out.println(JsonFormat.printToString(userB.build()));
Original issue reported on code.google.com by
mani...@gmail.com
on 18 Jun 2015 at 12:35