I looked at lots of the vanilla jsons, and also played around with Blockbench (www.blockbench.net) to create some models.
I wouldn't say I'm good at it, or could write a tutorial, but messing with it definitely gives insight into how it works!
I still haven't started playing with models that connect like the fence, if that's more specific to what you're doing, lots of tinkering and google/forum searching is how I'd do it lol