-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
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());
System.out.println(JsonFormat.printToString(userB.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