A man is charged with stabbing an off-duty police officer while she was driving Friday morning in the South Shore neighborhood.

David Johnson, 21, of the South Deering neighborhood, was charged with a felony count of attempted first-degree murder, Chicago Police announced Saturday.

Johnson was denied bond at a court appearance Sunday, according to Cook County sheriff’s office records.

The 47-year-old woman was driving about 8:14 a.m.Friday near 76th and Stony Island Avenue when she was stabbed multiple times by someone she knew inside the vehicle, according to  Chicago Fire Department spokesman Larry Merritt and Chicago Police.

A police source said Johnson is the woman’s stepson.

She was taken to Northwestern Memorial Hospital in serious but stable condition with a head injury, authorities said. She was expected to recover.

As a result of the stabbing, the vehicle she was driving crashed into a school bus, Merritt said. A 12-year-old boy who was on the bus was taken to Jackson Park Hospital to be treated for a headache.

Police said Johnson turned himself in to authorities about 3:35 p.m. Friday.

He was scheduled to return to court Wednesday, the sheriff’s office said