¿Cómo deserializar JSON dudoso (con cadenas citadas incorrectamente y paréntesis faltantes)?

Tengo que analizar (y finalmente volver a serializar) algunos JSON poco fiables. se parece a esto:

{
  name: "xyz",
  id: "29573f59-85fb-4d06-9905-01a3acb2cdbd",
  status: "astatus",
  color: colors["Open"]
},
{
  name: "abc",
  id: "29573f59-85fb-4d06-9905-01a3acb2cdbd",
  status: "astatus",
  color: colors["Open"]
}

Aquí hay una serie de problemas, comenzando por los más graves.

color: colors["Open"]

WTF incluso es eso? Si suelto 'colores', entonces puedo obtener una serie de cadenas, pero no puedo ajustar para que salgan de la caja.

Es una matriz sin corchetes. Puedo arreglar esto envolviéndolos. Pero, ¿hay alguna manera de brindar soporte fuera de la caja?

Las propiedades no tienen comillas. La deserialización está bien para estos ... pero la deserialización no es un dado.

¿Alguna sugerencia de manejo dentro y fuera de esta estructura?

Respuestas a la pregunta(1)

Su respuesta a la pregunta