Gareth Southgate called James on Tuesday to tell the Chelsea defender that he would not be named in his 26-man squad for Qatar because of his knee injury.
James says he was willing to risk his fitness to play at the World Cup but says he understands Southgate’s decision.
In an emotional statement on Twitter, James said: “Devastated.
“The minute I injured my knee, I knew the turnaround to make the World Cup would be tight, but I always felt it was possible.
“I’ve worked harder than I ever thought I could to give myself the best chance of going and truly believed I could have helped the team.
“I appreciate there was risk on both sides but it was one I was willing to take.
“Good luck to the boys. I’ll be back soon. Stay safe and sending love."
James sustained a knee injury playing for Chelsea against AC Milan in the Champions League on October 11.
The 22-year-old was initially ruled out for eight weeks but he has been doing everything to be fit.
But Southgate deemed it too big a risk to take James, who is confident he will be fit when the Premier League resumes in late December.