In which macOS version was the -json flag/switch added in system_profiler?
It was introduced in Catalina.

JSON wasn’t standardized until 2013 and Apple rarely implements new technology that hasn’t been standardized.  Looking at a man page from 10.9 (Mavericks) which was also released in 2013, the -json flag was not available.

It’s also not available in Mojave as the man page for that version doesn’t indicate the flag either.  I’ve tested it in Catalina and confirmed it exists there