ASN.1 has one of the same problems of XML - the data format is far too strict. Many libraries work by generating new structs/classes from the specification, which is a real problem for an agile workflow. The "struct" type also allows keys of the same name, which means you can't properly represent it in a Json/hashmap/dictionary type. (Not to mention that ASN.1 is just the specification language, there are more then ten ways to actually encode it on the wire. And from personal experience it can also be a pain to work with.)
There are plenty of more modern binary formats that would be a good alternative. CBOR, MessagePack, Protobufs, etc.
There are plenty of more modern binary formats that would be a good alternative. CBOR, MessagePack, Protobufs, etc.