It has been very recently, since the release of version 10.3.0 I think, that Import/Export and ImportString/ExportString functions accept a format parameter with the value of "RawJSON".
The differences between "JSON" and "RawJSON" format values are fully documented and can be referenced at Wolfram.
The "RawJSON" format identifies JSON objects with associations in the Wolfram Language.
The "JSON" format identifies JSON objects with lists of rules in the Wolfram Language.
My question is how did they come up with that name, i.e. "RawJSON", to specify that JSON objects will be represented with associations instead of rules ? How the prefix "Raw" is conceptually linked to associations here ? And if you look more into this then you find also that
by default, Import and Export use the "JSON" format for files ending in .json, rather than the "RawJSON" format.
I would expect the default behavior of importing a .json file without specifying the format parameter to be a STRING representation in Wolfram. It would also make sense, in my opinion, to name these two aforementioned format values to something like "JSONR" and "JSONA" for Rule and Association representations respectively. Otherwise this is a point where confusion start arising in different JSON representations, i.e. String, Rule and Association representations.
I think I made my point pretty clear, so I stop here.