Sto analizzando molti JSON e DOM in PHP. Il problema è che le mie conoscenze sulla struttura di JSON / DOM sono mescolate con il codice. Ad esempio, supponiamo di avere poche fonti di nome e cognome. Ogni origine dati può avere un aspetto diverso e avere i propri trucchi, ad esempio:
-
[ {"firstname": "FirstName1", "lastname": "LastName1"}, {"firstname": "FirstName2", "lastname": "LastName2"} ]
-
{ "firstnames": ["FirstName1", "FirstName2"], "lastnames": ["LastName1", "LastName2"] }
-
{ "firstnames": [ {"firstname": "FirstName1", "id": 1}, {"firstname": "FirstName2", "id": 2} ], "lastnames": [ {"lastname": "LastName2", "id": 2}, {"lastname": "LastName1", "id": 1} ] }
Quindi per ogni fonte di dati scrivo codice che trasforma il JSON nei miei oggetti. Se il JSON è molto complesso, anche il codice è molto complesso ed è impossibile vedere la struttura JSON nel mio codice. Alla ricerca di bug è molto difficile.
Voglio risolvere il problema in modo dichiarativo, qualcosa come una regex JSON dove posso dire "i nomi dei primi sono in 'nomi", i secondi sono in' secondnames ', e sono collegati da' id '".
Come posso ottenerlo? JSON ha qualche tipo di linguaggio di trasformazione dichiarativo (come XSLT / XPath per XML)? Esistono strategie o schemi che possono essere utilizzati per rendere questa trasformazione JSON → Model più dichiarativa?