That doesn’t need to be a problem. In Rust, the most popular thing in this space is Serde, with the serde_json crate. It can cope with such things just fine; define a data type that is capable of
representing all the possibilities (perhaps as simple as an enum with a variant for each style, or perhaps it normalises them into one), and then… well, you probably have to write a visitor to help deserialise, which isn’t
trivial, especially when you’re used to just deriving those things and so you’re not so familiar with Serde internals. But it’s
possible.
https://serde.rs/string-or-struct.html gives one example. The length of the example may be daunting, but it’s actually not too bad.