Johnston started his career as a youth team player for Bristol Rovers, where he eventually signed professional terms in 1998. Despite being a former England schoolboy international, Johnston could only manage to appear in one league game with The Pirates, a 4-3 victory against Macclesfield Town in 1999.
He joined Bath City in 2002, appearing in 6 games. He was the backup to first choice keeper Mark Hervin. An injury at the start of the 2003 season left Johnston 3rd choice so he chose transfer to Bishop Sutton.
Along the way, Johnston found small roles with Weston-super-Mare and Frome Town.
Ray joined Clevedon Town at the start of the 2005 season and played in 41 league games for them, appearing in an additional 9 cup games. While Johnston was the first choice keeper for Clevedon, he led them to promotion to the Southern Football League Premier Division. He was inexplicably released before the start of the next season.
Johnston found his way back to Frome Town in October 2006, but was once again out the door before the season was over in 2007. It was reported that Gloucester City put in a seven day's notice for him on 29 January 2007 and he joined up with The Tigers soon after. His debut with Gloucester came on 3 February 2007.
Eventually Johnston found himself at Tiverton Town, but was released by manager Martyn Rogers upon the signing of Steve Book and Johnston's inability to fully recover from an Achilles tendon tear and ankle problems.
In 2011 Johnston became manager of Toolstation Western League Division One side Portishead Town.