how old is the actor that plays john b