The 25-year-old moved to Etihad Stadium from Middlesbrough for £7 million (€8.5m) in 2010, but never managed to hold down a first-team spot under Roberto Mancini.
The England international has now advised players that are in a similar position to not make the same mistake by joining the champions.
“Now, if I was a young lad, I wouldn’t go to City,” he told The Mirror.
“It is excellent when a club like City come for you. Hard to turn down. But you don’t actually play for the champions - you’re a squad member, which is totally different.
"It’s not that you’re not good enough, it’s just that the likes of Yaya Toure are going to play ahead of you, no matter what you do.”Johnson does not envy Mancini's job but says it is down to him to determine the size of his squad, revealing his belief that there are simply too many players at the club, all desperate for first team football.
“I think it would only be a matter of time before senior players become unhappy,” he revealed. “You can probably have too many world class players at once - everyone wants to play and they’re not happy to be squad players.
“You’re going to have trouble picking a team, and leaving people in the stands. I was one of them last season.
"He [Mancini] wanted that many players in the squad. He’s got to deal with it, hasn’t he?"
Johnson is now a Sunderland player after his switch this summer and says he has quickly rediscovered what it feels like to be loved under Martin O'Neill.
He added: “I was forgotten about as a player. I want to get playing again and have people talk about me again for being a good player.
“Martin O’Neill makes you know he wants you, and he makes you feel 10 feet tall. If that’s how a player feels, that’s when you play your best football.”