Como desserializar JSON desonesto (com seqüências de caracteres indevidamente citadas e colchetes ausentes)?

Estou tendo que analisar (e finalmente resserializar) algum JSON desonesto. Se parece com isso:

{
  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"]
}

Existem vários problemas aqui - começando pelos mais graves.

color: colors["Open"]

WTF é mesmo isso? Se eu largar 'cores', posso obter uma série de strings, mas não consigo ajustar para trabalhar fora da caixa.

É uma matriz sem colchetes. Eu posso consertar isso envolvendo neles. Mas existe uma maneira de dar suporte imediato?

As propriedades não têm aspas. Desserializar é bom para eles ... mas resserializar é apenas um dado.

Alguma sugestão de como entrar e sair dessa estrutura?

questionAnswers(1)

yourAnswerToTheQuestion