No. And I don’t think it is worth to discuss this point. There are many good reasons for how the Go way of names. Just one link to get you started: Exported/Unexported Identifiers In Go
IMO you should never just accept an identifier from JSON directly: do a proper mapping.
we don’t need Java interop - leave that to the JAVA based languages.
Particularly on that second item that kind of contract between different languages is a bad code smell. Language A should neither know nor care how language B decides to name its internal variable, or what is private or public. Not only is that too strict of coupling, it leads to people writing language B in language B. Always use the native idioms of a language rather than trying to force it into a different language.