Parsing array of “lax” JSON

I am trying to parse an array of objects that has been given as a string. I am trying to parse it using JSON.parse(), but since it is “relaxed” JSON, it gives errors.

The string I am trying to parse is:

{
  _id: new ObjectId('66667d7bc1bab35453326258'),
  title: 'Helo',
  createdAt: 2024-06-10T04:13:47.693Z,
  classId: new ObjectId('665a4e3030b256c1a3efeabd'),
  content: 'Hello tst',
  userId: new ObjectId('66666d8b88c11ddd5dbf9c2a'),
  name: 'user30',
  __v: 0
},{
  _id: new ObjectId('666749d19068d29f64974762'),
  title: 'testasf',
  createdAt: 2024-06-10T18:45:37.051Z,
  classId: new ObjectId('665a4b3e51b2f157c8dc6364'),
  content: 'ABCD',
  userId: new ObjectId('66666d8b88c11ddd5dbf9c2a'),
  name: 'user30',
  __v: 0
},{
  _id: new ObjectId('66674b94001d545e7a17a56e'),
  title: 'make sure this is real',
  createdAt: 2024-06-10T18:53:08.902Z,
  classId: new ObjectId('665a4b3e51b2f157c8dc6364'),
  content: 'masfsf',
  userId: new ObjectId('66666d8b88c11ddd5dbf9c2a'),
  name: 'user30',
  __v: 0
}

I am using reactjs, in a MERN stack.

How can I parse this string of comma-separated objects into an array?
I found an answer here that showed how to convert this sort of “relaxed” JSON to strict JSON, but the answer broke as it reached the delimiter between the objects. Here is the answer I found:

var badJson = "{muh: 2}";
var correctJson = badJson.replace(/(['"])?([a-z0-9A-Z_]+)(['"])?:/g, '"$2": ');
JSON.parse(correctJson);