https://github.com/xsavikx/proto-json-same-fields-issue
Companion repository for issue https://github.com/protocolbuffers/protobuf/issues/7641
https://github.com/xsavikx/proto-json-same-fields-issue
java json protobuf protobuf-java
Last synced: 12 months ago
JSON representation
Companion repository for issue https://github.com/protocolbuffers/protobuf/issues/7641
- Host: GitHub
- URL: https://github.com/xsavikx/proto-json-same-fields-issue
- Owner: xSAVIKx
- License: mit
- Created: 2020-06-22T06:59:48.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-06-24T08:27:24.000Z (over 5 years ago)
- Last Synced: 2024-12-31T23:43:13.921Z (about 1 year ago)
- Topics: java, json, protobuf, protobuf-java
- Language: Java
- Homepage: https://github.com/protocolbuffers/protobuf/issues/7641
- Size: 62.5 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Json2Proto deserialization issue
----------
A companion repo for the issue https://github.com/protocolbuffers/protobuf/issues/7641.
The problem is that `JsonFormat.Parser` is not able to process
a JSON object when a particular field is present in both
`lowerCamelCase` and `snake_case` notations:
```json
{
"message": {
"data": "eyJrZXkiOiJ2YWx1ZSJ9",
"messageId": "450292511223766",
"message_id": "450292511223766",
"publishTime": "2020-06-21T20:48:25.908Z",
"publish_time": "2020-06-21T20:48:25.908Z"
},
"subscription": "projects/test-project/subscriptions/test-subscription"
}
```
The example above is a PubSub push notification that Google PubSub service sends
using push subscriptions.
See more examples in [`ProtoDeserializationTest`](src/test/java/com/github/proto/ProtoDeserializationTest.java).
## How to build
1. Install JDK11.
2. Configure JDK11 as JVM for Gradle (add to Path, set JAVA_HOME, etc.).
3. Run `./gradlew`.