Vai al contenuto principale
CuteJSON
↑↓ Naviga Enter Seleziona Esc Chiudi

Come convertire JSON in XML con una mappatura dichiarata

Pubblicato 2 min di lettura Di Akash Kinkar Pandey

Non c e un unico modo corretto di trasformare JSON in XML. I due formati non modellano i dati allo stesso modo: XML ha attributi, contenuto misto e nessun tipo array nativo, nessuno dei quali JSON ha un equivalente. Questo strumento sceglie una mappatura e la dichiara nella pagina, invece di fingere che ne esista una naturale.

Utilizzo del convertitore JSON a XML

Scegli una direzione e, scrivendo XML, un nome per l elemento radice, perche JSON non ha nulla che nomi un documento come fa un elemento radice XML. Convertendo

{"items":[{"name":"A & B <co>"},{"name":"C"}],"note":null}

con la radice impostata su catalog produce:

<catalog>
  <items>
    <name>A &amp; B &lt;co&gt;</name>
  </items>
  <items>
    <name>C</name>
  </items>
  <note/>
</catalog>

Un membro oggetto diventa un elemento figlio, un array diventa elementi fratelli ripetuti che condividono la chiave dell array come nome, e i caratteri che non sono legali nel testo XML, come & e <, vengono escapati.

Attributi, testo e valori vuoti

Una chiave con prefisso @ diventa un attributo XML in scrittura, e una chiave #text diventa testo accanto agli elementi figli. Ne @ ne # e un carattere legale per iniziare il nome di un elemento XML, quindi una chiave JSON non puo mai entrare in collisione con nessuna convenzione per accidente.

null, un oggetto vuoto, un array vuoto e una stringa vuota diventano tutti un elemento vuoto, perche XML ha esattamente una forma per nulla e non puo distinguerli. Leggere <note/> al ritorno restituisce null per tutti e quattro, cosa che la pagina dichiara chiaramente invece di lasciarti scoprire.

Perche il lettore restituisce ogni valore come stringa

XML non registra alcuna informazione di tipo. Un numero in un documento XML e solo cifre per quanto riguarda il formato, e indovinare che dovrebbe diventare un numero JSON e esattamente il tipo di indovinello che trasforma un CAP in un intero senza il suo zero iniziale. La rilettura resta senza perdita rifiutando di indovinare.

Cosa significa un nome di elemento ripetuto al ritorno

Un nome di elemento ripetuto sotto lo stesso genitore diventa un array JSON al ritorno, e un nome membro che non e un nome legale di elemento XML ferma la conversione e nomina la chiave problematica, invece di modificarla silenziosamente in qualcosa che sembra un tag valido.

Torna a tutti i post