Como json_decode JSON inválido com apóstrofo em vez de aspas

Código de amostra:

<?php

$json = "['foo', 'bar']";

var_dump( json_decode($json) );

Trabalha comPHP 5.5.3 mas falha para versões inferiores do PHP

Ele funciona na minha máquina com o PHP 5.5.3, mas falha em qualquer outro lugar.

Eu sei que é incorreto JSON, mas meu webservice me dá JSON com' símbolos em conjunto com"

['foo', "bar", {'test': "crazy \"markup\""}]

Caixa de areia

Como analisar dados JSON com apóstrofos no PHP 5.3?Obviamente, o JSON original que quero analisar é mais complexo.

(Eu não posso atualizar meu PHP no servidor de produção nem obter o JSON adequado do webservice)

questionAnswers(7)

yourAnswerToTheQuestion