The move came one day after Johnson was booed at Kauffman Stadium after making a crucial error at third base in a 5-2 loss to the Marlins. He was filling in for injured Mike Moustakas.
Johnson also has been in a funk at the plate, going 0-for-31 since his last hit on July 6. Overall, he had a .179 (29-for-162) average, with two home runs and nine RBIs in 79 games. On the plus side, Johnson was 14-for-14 in stolen-base attempts.
The 29-year-old Johnson arrived last winter as the player to be named in the deal that brought pitchers James Shields and Wade Davis to the Royals from the Rays for a four-prospect package that included outfielder Wil Myers.
Johnson played primarily at second base for Kansas City -- 57 games, including 36 starts. He also filled in at shortstop, third base, right field and left field.
Johnson could not be optioned to the Minors because he's out of options. The Royals have 10 days to determine Johnson's fate, putting him on waivers and, if he clears, offering him a Minor League deal.
"He's a good player, he's in a funk right now," manager Ned Yost said. "If he doesn't get claimed, then we may get him to Omaha and get him some at-bats and see what happens."
Yost said dropping Johnson was the obvious move after the club acquired Bonifacio and infielder Jamey Carroll in the last few days.
"The only other move was Moustakas on the DL and he's making improvements so that was the only other [possibility]," Yost said.
Moustakas, who has left calf tightness, worked out before Thursday night's game against the Tigers.
"He's walking without a limp, he's feeling better," Yost said.
Dick Kaegel is a reporter for MLB.com. This story was not subject to the approval of Major League Baseball or its clubs.