Johnson scored against Panama and Mexico in the final round of CONCACAF qualifying and played a major role in the earlier rounds.
But the 30-year-old missed out on a place as Rapid Vienna striker Terrence Boyd earned a surprise inclusion even though he is yet to score for the national team.
Teenage midfielder Julian Green, who is on Bayern Munich's books but mostly plays for their lower league second team, was named along with several other dual-nationals, including AZ Alkmaar forward Aron Johannsson, who represented Iceland at youth level.
The United States, who finished top of qualifying in CONCACAF, will face Ghana, Portugal and Germany in Group G at the tournament in Brazil.
Klinsmann will have to cut another seven players from the squad when he names his final 23-man lineup on June 2 and said it had already been a tough task leaving out players who had served during the qualifying campaign.
"It is unpleasant because you give the players a message they don't want to hear - it hurts you because you know it hurts them," Klinsmann said on a conference call.
"You are missing out on the biggest tournament in your career," added the 49-year-old who won the World Cup as a player with West Germany in 1990 and was coach of the Germany team that reached the semi-finals in 2006.
Johnson has yet to score in eight games for D.C. United in Major League Soccer this season but Klinsmann gave little insight into the reasons behind his decision.
"I spoke with Eddie for quite a long time on the phone and tried to explain as well as I could," Klinsmann said.
"It was a very difficult decision based on what he has done with me the whole time and not now having the chance at the last moment, it is a very tough one on him."
While Klinsmann, who took over the team from Bob Bradley in 2011, has experimented with his selections throughout his reign, he stuck with the same experienced core that featured at the 2010 World Cup in South Africa: goalkeeper Tim Howard, midfielders Michael Bradley and Clint Dempsey and forward Landon Donovan.
Jozy Altidore also made the squad, a reward for his performances for the U.S. despite his disappointing season in the English Premier League with Sunderland, where he has scored just once.
The squad will gather in California on Wednesday for a training camp before playing friendlies against Azerbaijan, Turkey and Nigeria in preparation for Brazil.
- Sports & Recreation
- Bayern Munich