I think it works pretty well as a nn for John, or even Jacob. (My stepfather had a cousin who died recently who was called Jack or Jackie, but his real name was Ronald Jacob.) As a nn for John it's definitely more grown-up than Johnny.
I like Jack okay, but not enough to ever want to use it, maybe not even as a nn. There's a touch of generic about it but not in the usual way. I mean, Jack is kind of like Buddy or Mac, but with more of a hostile edge; not as hostile as Buster, but not as friendly as Mac. "Whatc out how you park that truck, Jack!"
You're entitled to your own opinions. You're not entitled to your own facts. -- Daniel Patrick Moynihan