Di partenza ho questo dato che vorrei caricare in un array:

codice:
{"value":{"Valido":true,"Allarme":[52],"Warning":[1,4,14,21],"Emergenza":[6],"Allarme2":0}}
Le chiavi sono: Valido, Allarme, Warning, Emergenza, Allarme2
Valido e Allarme2 hanno sempre un solo valore, mentre gli altri possono non avere nulla, avere un valore o N valori.

Ho già gestito il caso in cui tutti i dati avessero un solo valore e quindi splittavo in base alla virgola e creavo il mio array in questo modo:
$content era la mia stringa di partenza
Codice PHP:
$arrInfo explode(",",$content);
    
$newArray = [];
    foreach(
$arrInfo as $item) {
        
$values explode(":",$item);
        
$newArray[$values[0]] = $values[1];
    } 
Mi servirebbe la stessa cosa, ma non mi deve splittare le virgole se sono dentro le parentesi quadre.

Grazie a chi ha idee.