Johan Davidsson begann seine Laufbahn 1992 in seiner Geburtsstadt beim schwedischen Erstligisten HV71. In der Saison 1992/93 sammelte er seine ersten Erfahrungen in der Elitserien und avancierte in den folgenden Jahren zu einem Stammspieler in Jönköping. Während dieser Zeit wurde er beim NHL Entry Draft 1994 in der zweiten Runde an 28. Position von den Mighty Ducks of Anaheim ausgewählt. In der Spielzeit 1994/95 gewann er mit Jönköping erstmals in seiner Karriere die Schwedische Meisterschaft. 1997 wurde Davidsson vom HIFK Helsinki aus der finnischen SM-liiga verpflichtet, mit dem er in seiner einzigen Saison die finnische Meisterschaft gewann.
Nordamerika (1998–2000)
Im Anschluss gelang ihm der sofortige Sprung in den NHL-Kader der Mighty Ducks und kam im Saisonverlauf regelmäßig zum Einsatz, obwohl seine Position mit Spielern wie Steve Rucchin, Travis Green und Matt Cullen stark besetzt war. Seine zweite Spielzeit in Anaheim war weniger erfolgreich und der Schwede spielte vorwiegend im Farmteam bei den Cincinnati Mighty Ducks in der American Hockey League. Am 11. März 2000 gaben ihn die Kalifornier in einem Transfergeschäft gemeinsam mit einem leistungsbedingten Wahlrecht im NHL Entry Draft 2001 im Austausch für Jörgen Jönsson an die New York Islanders ab. Für die Islanders absolvierte Davidsson 14 Begegnungen und erzielte sechs Punkte, ehe sein auslaufender Vertrag nach Saisonende nicht verlängert wurde. Im September 2000 unterschrieb er als Free Agent einen Kontrakt bei den Vancouver Canucks, für die er allerdings nie spielte und stattdessen nach Europa zurückkehrte.
Rückkehr nach Europa (2000–2014)
Die folgende Saison absolvierte der Schwede in der finnischen SM-liiga bei den Espoo Blues. Zur Saison 2001/02 kehrte er in seine Heimat zum HV71 zurück und hatte ab der folgenden Spielzeit das Amt des Mannschaftskapitäns inne. 2004, 2008 und 2010 gewann er mit Jönköping drei weitere Male die schwedische Meisterschaft und wurde während dieser Zeit außerdem mehrmals ins All-Star-Team der Elitserien gewählt. Weiterhin erhielt Davidsson im Jahre 2004 mit den Guldpucken, 2009 wurde er mit dem Guldhjälmen als bester Spieler des Jahres geehrt und 2010 gewann er die Stefan Liv Memorial Trophy als wertvollster Akteur der Play-offs. Im Januar 2010 verlängerte der Schwede seinen Vertrag bei HV71 trotz Angeboten aus der Schweiz und Russland um weitere fünf Jahre. Nachdem er bereits in der Saison 2013/14 keine Spiele mehr bestritten hatte, gab Davidsson im April 2014 das offizielle Ende seiner Karriere bekannt. Insgesamt bestritt er 17 Spielzeiten für Jönköping und stellte dabei neue Vereinsrekorde für die meisten Spiele, Tore und Assists auf.
Auf Juniorenebene vertrat Davidsson die schwedische Nationalmannschaft bei den Juniorenweltmeisterschaften 1994, 1995 und 1996 sowie den U18-Europameisterschaften 1993 und 1994. Für die A-Nationalmannschaft spielte Davidsson bei den Weltmeisterschaften 2002, 2003, 2004 und 2007. Dabei gewann er 2003 und 2004 die Silbermedaille mit der schwedischen Auswahl. Im Oktober 2011 gab er nach insgesamt 129 Partien seinen Rücktritt aus der schwedischen Nationalmannschaft bekannt.