> Is it storage? Is it wire protocol?
Yes.
It's just a standardised way to represent data structures in text. You can then save that text to a file for storage, or send the text over the wire for data transfer. As long as everyone involved knows they're saving/loading or talking JSON then everyone knows exactly how to read/write the data.
It is a very literal representation of (specifically JavaScript, but generally any) data-structures in text.