The decision was actually taken by George W Bush, not Mr Obama. Mr Trump had been expected to do an event marking the opening of the new embassy in a visit pencilled in for February 26 and 27.
In a piece published in the Evening Standard, Mr Johnson, who was made US ambassador last year, pushes back on the president’s criticism.
“I agree with President Trump that Grosvenor Square, in the heart of London, was a perfect location for our embassy,” he said.
But he added: “Security concerns after September 11 meant we had to move to a location that could better protect American citizens and our British neighbours.”
Mr Johnson went on to say the embassy was “bigger” and “better” than its predecessor and came at no cost to Americans.
“It is the most secure, hi-tech and environmentally friendly embassy that the United States has ever built,” he wrote.
“Purchased and built from the sale of our London properties, the new embassy did not cost the US taxpayer a cent. Yet is one of the most advanced embassies we have ever built.”
Sadiq Khan, the London mayor who has clashed with Mr Trump, praised the announcement: “It appears that President Trump got the message from the many Londoners who love and admire America and Americans but find his policies and actions the polar opposite of our city’s values of inclusion, diversity and tolerance.