nella nostra app abbiamo un file Json che contiene diverse proprietà usate per la configurazione del menu. Una delle chiavi dovrebbe dirci se una voce di menu dovrebbe essere visualizzata. Il fatto è che il valore per questa chiave, può essere un int ma scritto come String "0" o "1", un booleano scritto come String "true", "false" o un URL. Quindi, a seconda dell'elemento, uno di questi 3 valori "magici" ci dice se un oggetto specifico dovrebbe essere visualizzato o meno.
La mia domanda è: qual è il modo migliore o il modo elegante per conoscere il tipo di questo valore? Dobbiamo conoscere il tipo per una gestione diversa.
All'inizio ho creato un metodo per verificare se il valore è di tipo booleano.
return value.equals(true.toString()) || value.equals(false. toString()));
Lo stesso, dovrei creare un metodo se è int, ma per verificare se si tratta di un URL è un po 'complicato.
Quindi, poiché non ho trovato questo approccio molto elegante e leggibile, ho deciso di aggiungere il tipo di questa chiave "magica" nel file Json: Per il tipo booleano ho aggiunto:
"myKeyType": "boolean"
E così via per gli altri 2. Quindi mi piacerebbe sapere se aggiungere una proprietà type al file Json è una buona idea, se è responsabilità di Json dirci il tipo, o c'è un modo migliore per farlo?
EDIT: non riesco a cambiare il tipo di dati che ricevo, quindi devo fare i conti con lo scenario che ho descritto. In questo caso, quale delle due soluzioni che ho provato è più elegante? Il primo o il secondo con il tasto extra?
Grazie