"I just wanted to get my future sorted out as quickly as I could," he told the club's official website. "We've been talking for a while now and I'm just happy to get it done.
"I'm happy here, because I'm playing football at the moment. I could go to another team and end up in the reserves, but I'm playing first-team football here."
Johnson is the second player due to be out of contract this summer to sign a new deal after goalkeeper Mark Bunn signed a contract extension earlier in the season.
Sporting Life