The Nets outscored the Bobcats over the final two periods 56-25. Charlotte produced just nine points in the third period after owning a 10-point halftime lead.
Johnson scored 22 points and Williams had eight assists to go with his 20 points. Johnson made 5-of-8 from 3-point range and Brooklyn went 13-of-27 from beyond the arc. The Nets ended a two-game skid.
Charlotte, which has lost eight in a row, was led by Michael Kidd-Gilchrist with 17 points.
The Bobcats have a league-low 13 victories this year and have won at home just seven times in 30 tries.