Agreed, but nobody uses it without parsing it. You're not grepping JSON, you're JSON.parse() ing it.
Why does it matter whether the exchange format is a regular or a context-free language? It is a textual representation of binary data either way.
Sure, it is harder to pattern-match context-free, and we have a convenient syntax for textual regular languages, but we create tools such as jq so that we can pipe JSON and extract data.
> JSON is a text format
json.org is owned by Douglas Crockford, who should know what JSON is, since he was the first to specify that format.