Coming off back surgery that limited him during the spring, he's had to work on building his endurance and finding his command in games that count. The results haven't been what he's used to, which is tough for a competitor like him to take.
Friday night, in his third start of the year, there were some positive signs for Johnson, but the result was another loss, this one to the Mets by a 5-3 count.
The loss was the fourth in a row for the D-backs, who had won their previous six games.
The velocity was there at times for Johnson -- he hit 97 mph when he struck out Julio Franco in the fourth inning -- his endurance was better and he was efficient with his pitch count. But the location wasn't there and that cost him.
"Nobody really wants to hear that, but essentially I'm coming off back surgery and these starts that I'm making are progressing to get where I want to be," Johnson said. "In the meantime, I'm taking some lumps, but hopefully when things get to the point where I'm fairly comfortable and I'm hitting my spots with my velocity, because my velocity is there, my stuff is there, I just need to be a little more consistent with it obviously."
That was apparent in the second inning when he faced Franco with a runner on first and the Mets up 1-0.
Johnson, 43, jumped ahead of the 48-year-old Franco 0-2 and then was going to try to elevate his fastball, but didn't get it up enough and left it out over the plate. Franco deposited it in the pool beyond the wall in right-center. The blow gave the Mets a 3-0 lead.
"I didn't throw the pitch where I wanted it, and inevitably I'm upset during the course of the game when that happens," Johnson said. "And you look at the final outcome of the game and it was a big part of the game."
The Mets built a 5-1 lead before Johnson departed after seven innings, having allowed nine hits and striking out seven. He threw 91 pitches, 61 for strikes.
"It's getting better," Johnson said. "I know the results don't reflect that, but to be able to go seven innings and be that pitch-efficient."
The Arizona hitters couldn't do much with Mets starter John Maine, who came into the game as the NL's ERA leader and showed why, as he held the D-backs to just one run over six innings.
Maine's fastball doesn't light up the radar gun, but several D-backs came back to the dugout saying the right-hander's fastball has late life to it and gets on you faster than the gun would indicate.
Once he left the game, the D-backs made things interesting in the eighth when Orlando Hudson hit a two-run homer to cut the New York lead to 5-3.
"I'm not talking about me," Hudson said when asked about his 2-for-4 performance at the plate. "Nothing about me. Next question."
The Mets are scheduled to leave town following Sunday's game, but they may petition the league to stay given the way they've played here. With the win Friday, the New Yorkers have won 12 straight games at Chase Field dating back to May 12, 2004.
"We're not maximizing our hits," D-backs manager Bob Melvin said of his team which had just two extra-base hits out of nine. "They were more opportunistic again."
While Johnson pointed out the positives in his outing, the continued losing is clearly tough for him to take.
The learning part of this, or getting to where I want to be is painful because I'm giving up runs and we're losing ballgames," Johnson said. "So hopefully very soon, very quickly I'm going to be where I need to be."
Steve Gilbert is a reporter for MLB.com. This story was not subject to the approval of Major League Baseball or its clubs.