This is a good round-up of what is possible with JSON and SQL Server. Well done on putting it together.
My one non-JSON comment would be regarding the following:
Always implement proper error handling when working with JSON data:
While this is, of course, sound advice, it is followed by a code fragment where the CATCH block contains a SELECT of the errors occurring. Selecting errors in a CATCH block is not good practice, instead, use should be made of RAISERROR or THROW to make sure any errors do not get missed.