Johnson also missed last week's game in Cleveland, largely as a precaution.
The Lions didn't provide details before Thursday night's game at Ford Field about why Johnson was sitting out. The team again most likely wanted to rest its most talented player, who has been bothered by a bruised knee.
Johnson, who had a league-leading 122 receptions for an NFL-record 1,964 yards last season, caught three passes in Detroit's preseason opener on Aug. 9 against the New York Jets.
Patrick Edwards is starting in Johnson's place.
Johnson will begin the season needing 1,338 yards to pass Herman Moore (9,174) for the most receiving yards in Lions history.