Thanks for the question.
JSON was chosen for a number of reasons
- it's mainly 7 bit. There is a requirement to transfer the data over midi 1.0 SysEx messages which only allow 7bit. JSON has mechanism for handling utf16 values in 7 bit.
- it's human readable. It was important to have a format that could be read easily in a text format
- the eco system. JSON is very well known and it is recognisable to developers
If I understand CBOR correctly, CBOR has the same issue as msgpack in that it is an 8bit format. Future designs could perhaps make use of these technologies, if so decided ?
I hope that helps?
Andrew