Note: The following content is a written version of the [XDR spec][xdr-spec]
As of [js-soroban-client v0.1.3][js-client] and [soroban-cli v0.2.1][soroban-tools] it's still really funny to work with custom types required for soroban so I will explain to the best of my knowledge how to build a custom Soroban Type in JSON format (but you should probably ask @tdep...)
Note: many of these types actually have helper functions and can be entered