Bueno, después de haber perdido el tiempo discutiendo sobre el formato del JSON, dejo acá parte de la solución a la ayuda que solicité al foro, la expresión regular.
Código PHP:
$patron = array('/([a-zA-Z^"]+(?=\:))/', //Agregamos las " a los itemId, xtype, maxLenght, etc.
'/\'([a-zA-Z0-9_-]*?)\'/' //Reemplazamos las ' por " a los valores de los itemId, xtype, maxLength, etc
);
$replacement = array('"${1}"', '"${1}"');
$data = preg_replace($patron, $replacement, $json);
$jsonData = Zend_Json::decode($data);
echo '<pre>';
print_r($jsonData);
exit();
Faltaría que el primer patrón de la expresión regular le quite los espacios en blanco entre la palabra y el :
Saludos y gracias!