Law started at point guard in place of Mike Bibby, who was out with a strained right oblique muscle. The second-year player scored 12 points.
Joe Johnson paced the Hawks (3-1) with 17 points, Josh Smith added 16 and Al Horford grabbed nine rebounds. Atlanta also got contributions from its two major offseason acquisitions; Maurice Evans had 12 points and Flip Murray 11.
Law, the No. 11 overall pick in 2007, is looking to make more of a contribution for the Hawks in his second season. He played sparingly as a rookie.
"I was an 11th pick for a reason," Law said. "I've got something to prove."
Jason Richardson, the only Charlotte player in double figures until the closing minutes, scored 19 points to lead the Bobcats. D.J. Augustin, the Bobcats' first-round pick at No. 9 overall, had 11 points, six assists and three rebounds in 25 minutes. Raymond Felton doled out 11 assists.
"I thought J-Rich did more things tonight," Charlotte coach Larry Brown said. "I think he only lost the ball once on the dribble penetration, he pulled up and shot two jumpers, got to the rim."
The Bobcats have yet to win in three preseason games.
"It's not always pretty, but it'll get better," said Brown, back in the NBA with his ninth head coaching job after sitting out the last two seasons.