I would do this for the everyone in Harry Potter, The Doctor, Sherlock, John, Jim; Loki & the Avengers, etc. I'd line them all up and give them crazy long hugs. *next! Oh, come here you darling, let me love on you* x)
John is no fool, nor is he that slow. He was clearly baiting Sherlock. How many times before this had he asked Sherlock "how could you possibly know that?" or some variation thereof, while Sherlock just smiles that stupid smile of his and doesn't say anything. Baiting Sherlock to finally explain himself. And it worked like a charm.