UltKit
Εικόνα11
PDF13
Έγγραφα και δεδομένα7
Βίντεο6
Ήχος4
Περισσότερα εργαλεία22

Μετατροπή XML σε JSON

Μεταφέρετε δεδομένα από μια απάντηση SOAP, ένα RSS feed, ένα αρχείο ρυθμίσεων ή μια εξαγωγή από παλαιό σύστημα στο JSON που διαβάζουν απευθείας η JavaScript, η Python ή το εργαλείο no-code σας, χωρίς να γράψετε parser με το χέρι.

Μετατροπέας δεδομένων

ή σύρετε Αρχεία CSV, TSV, TXT … εδώ ·

Έως 95 MB ανά αρχείο· Έως 20 αρχεία· Διαγραφή μετά από 30 λεπτά

Έξοδος

Τα αρχεία επεξεργάζονται στους διακομιστές μας και διαγράφονται μετά από 30 λεπτά.

Πώς να χρησιμοποιήσετε αυτό το εργαλείο

  1. 1

    Ανεβάστε το XML

    Σύρετε αρχεία .xml στην περιοχή μεταφόρτωσης, έως 20 ανά παρτίδα και 95 MB το καθένα. Κάθε αρχείο μετατρέπεται ξεχωριστά.

  2. 2

    Επιλέξτε ευανάγνωστη ή συμπαγή μορφή

    Η Ευανάγνωστη μορφοποίηση είναι ενεργή και κάνει εσοχές στο JSON για ανάγνωση και έλεγχο κώδικα. Απενεργοποιήστε την στις Σύνθετες ρυθμίσεις για να πάρετε το μικρότερο δυνατό αποτέλεσμα σε μία γραμμή, κατάλληλο για δεδομένα API.

  3. 3

    Μετατρέψτε και χρησιμοποιήστε το JSON

    Πατήστε Μετατροπή σε JSON, κατεβάστε το αρχείο .json και φορτώστε το στον κώδικα ή στο εργαλείο σας.

Ανεβάστε το XML και πατήστε Μετατροπή σε JSON: τα στοιχεία γίνονται κλειδιά, τα επαναλαμβανόμενα στοιχεία γίνονται πίνακες και τα attributes διατηρούνται ως κλειδιά με πρόθεμα @, ώστε να μη χάνεται καμία πληροφορία των ετικετών.

Ποιος χρειάζεται μετατροπή XML σε JSON

Η XML 1.0 έγινε Σύσταση του W3C τον Φεβρουάριο του 1998 και για την επόμενη δεκαετία ήταν ο τρόπος επικοινωνίας των συστημάτων: web services SOAP, ροές RSS και Atom, έγγραφα Office, τραπεζικά μηνύματα, κατάλογοι προϊόντων. Πολλά από αυτά τα συστήματα λειτουργούν ακόμη. Το JSON, που ορίζεται στο RFC 8259, επικράτησε στα νέα web API επειδή η JavaScript το διαβάζει χωρίς βιβλιοθήκη ανάλυσης και επειδή αντιστοιχεί άμεσα σε λίστες και λεξικά σχεδόν σε κάθε γλώσσα.

Όσοι κάνουν τη μετατροπή συνήθως γεφυρώνουν τις δύο εποχές. Ένας front-end developer λαμβάνει απάντηση SOAP από πάροχο πληρωμών ή αποστολών και θέλει ένα απλό αντικείμενο. Ένας δημιουργός αυτοματισμών στο Zapier ή στο Make φέρνει το XML feed ενός προμηθευτή σε μια ροή που δουλεύει καλύτερα με JSON. Ένας μηχανικός δεδομένων μεταφέρει αρχεία ρυθμίσεων από παλιά εφαρμογή Java ή ένας φοιτητής χρειάζεται ένα feed RSS ως JSON για μια εργασία. Όλοι θέλουν την ίδια δομή χωρίς τις αγκύλες.

Μετατροπή XML σε JSON: πώς αντιστοιχίζονται ετικέτες, attributes και κείμενο

Είσοδος XML: μια παραγγελία με ένα attribute, έναν πελάτη και δύο προϊόντα
<order id="A-77">
  <customer>Ελένη Ορτίθ</customer>
  <total currency="EUR">59.90</total>
  <item sku="0042">Φωτιστικό γραφείου</item>
  <item sku="0108">Λάμπα LED</item>
</order>
Πώς εμφανίζεται στο JSON κάθε μέρος της παραπάνω παραγγελίας
Δομή XMLΠαράδειγμαΑποτέλεσμα JSON
Ριζικό στοιχείο<order>Κλειδί ανώτατου επιπέδου order
Attributeid="A-77""@id": "A-77"
Στοιχείο μόνο με κείμενο<customer>"customer": "Ελένη Ορτίθ"
Κείμενο μαζί με attribute<total currency="EUR">59.90</total>{"@currency": "EUR", "#text": "59.90"}
Επαναλαμβανόμενο στοιχείοδύο ετικέτες <item>πίνακας "item": [ … , … ]
Σχόλιο<!-- note -->Παραλείπεται· το JSON δεν έχει σχόλια

XML

Extensible Markup Language

Το XML είναι γλώσσα σήμανσης για δομημένα δεδομένα, που δημοσιεύτηκε από το W3C το 1998. Χρησιμοποιεί ένθετες ετικέτες με χαρακτηριστικά και υποστηρίζει σχήματα, χώρους ονομάτων και επικύρωση, γεγονός που το κάνει στιβαρό για σύνθετα έγγραφα. Βρίσκεται πίσω από ροές RSS, SVG, έγγραφα Office, sitemaps και πολλές ανταλλαγές δεδομένων επιχειρήσεων και δημόσιων φορέων. Το XML είναι φλύαρο σε σχέση με το JSON, αλλά το διαβάζουν όλες οι γλώσσες προγραμματισμού και πολλά εργαλεία υπολογιστικών φύλλων.

Συμπίεση
–
Διαφάνεια
–
Κινούμενη εικόνα
–
Έτος εισαγωγής
1998 · W3C
Μετατροπέας XML

JSON

JavaScript Object Notation

Το JSON είναι μια ελαφριά μορφή κειμένου για δομημένα δεδομένα, που διαδόθηκε από τον Douglas Crockford στις αρχές της δεκαετίας του 2000 και τυποποιήθηκε ως RFC 8259 και ECMA-404. Αναπαριστά αντικείμενα, πίνακες, συμβολοσειρές, αριθμούς, λογικές τιμές και null με απλή, ευανάγνωστη σύνταξη. Είναι η προεπιλεγμένη μορφή για web APIs, αρχεία ρυθμίσεων και ανταλλαγή δεδομένων μεταξύ εφαρμογών σε σχεδόν κάθε γλώσσα προγραμματισμού. Δεν έχει ενσωματωμένα σχόλια, ημερομηνίες ή σχήματα, και τα μεγάλα εμφωλευμένα αρχεία διαβάζονται δύσκολα χωρίς πρόγραμμα προβολής.

Συμπίεση
–
Διαφάνεια
–
Κινούμενη εικόνα
–
Έτος εισαγωγής
2001 · Douglas Crockford
Μετατροπέας JSON

Η XML μετατρέπεται σε JSON όταν δεδομένα από παλαιότερο ή εταιρικό σύστημα πρέπει να φτάσουν σε web εφαρμογή, script ή εργαλείο αυτοματισμού: το JSON αναλύεται εγγενώς στη JavaScript και αντιστοιχίζεται άμεσα σε λεξικά της Python.

Χαρακτηριστικά του XML που δεν έχουν θέση στο JSON

Και οι δύο μορφές περιγράφουν δέντρα, όμως η XML έχει επιπλέον στοιχεία που το JSON δεν είχε ποτέ. Τα namespaces, που όρισε το W3C το 1999, επιτρέπουν σε ένα έγγραφο να συνδυάζει λεξιλόγια όπως soap: και xsi:· στο JSON επιβιώνουν μόνο ως μέρος των ονομάτων των κλειδιών. Τα σχόλια και οι οδηγίες επεξεργασίας δεν έχουν πού να μπουν και παραλείπονται. Το μικτό περιεχόμενο, δηλαδή κείμενο που εναλλάσσεται με θυγατρικές ετικέτες, όπως σε μια παράγραφο XHTML με μια έντονη λέξη, είναι έγκυρο XML αλλά γίνεται άβολο στο JSON, γι' αυτό η XML τύπου εγγράφου μετατρέπεται καλύτερα σε HTML ή Markdown παρά σε JSON.

Η σειρά είναι το πιο λεπτό ζήτημα. Η XML διατηρεί τα αδελφά στοιχεία στη σειρά τους και ένα σχήμα μπορεί να βασίζεται σε αυτήν· τα κλειδιά ενός αντικειμένου JSON, σύμφωνα με το πρότυπο, δεν έχουν σειρά. Τα επαναλαμβανόμενα στοιχεία κρατούν τη σειρά τους μέσα στον πίνακά τους, κάτι που καλύπτει τα περισσότερα πραγματικά δεδομένα. Αν το XML είναι μια επίπεδη λίστα εγγραφών που πρέπει να καταλήξει σε υπολογιστικό φύλλο και όχι σε κώδικα, το XML σε Excel δίνει απευθείας γραμμές και στήλες, ενώ το XML σε CSV παράγει αρχείο για εισαγωγή σε βάση δεδομένων.

Ερωτήσεις για τη μετατροπή XML σε JSON

Γιατί ένα στοιχείο είναι πίνακας σε ένα αρχείο και αντικείμενο σε άλλο;

Ο μετατροπέας βλέπει μόνο ό,τι υπάρχει στο έγγραφο. Αν μια παραγγελία έχει τρεις ετικέτες item, τα items γίνονται πίνακας· αν έχει μία, δεν υπάρχει κάτι προς επανάληψη και γίνεται ένα απλό αντικείμενο. Ο κώδικας που διαβάζει το JSON πρέπει να δέχεται και τις δύο μορφές ή να τυλίγει ένα μεμονωμένο αντικείμενο σε πίνακα πριν από τον βρόχο.

Πώς γράφονται τα attributes του XML στο JSON;

Κάθε attribute γίνεται κλειδί με @ μπροστά από το όνομά του, οπότε το currency="EUR" γίνεται "@currency": "EUR". Όταν ένα στοιχείο έχει και attributes και κείμενο, το κείμενο μπαίνει σε κλειδί #text δίπλα τους. Αυτή η σύμβαση αποτρέπει τις συγκρούσεις μεταξύ attributes και θυγατρικών στοιχείων με το ίδιο όνομα.

Οι αριθμοί του XML γίνονται αριθμοί JSON;

Η XML δεν έχει δικούς της τύπους δεδομένων· το 42 και το "42" μοιάζουν ίδια μέσα σε μια ετικέτα. Γι' αυτό οι τιμές βγαίνουν ως συμβολοσειρές, κάτι που προστατεύει ταχυδρομικούς κώδικες και αναγνωριστικά όπως το 007. Μετατρέψτε σε αριθμούς τα πεδία που χρειάζεστε μετά την ανάλυση.

Τι γίνεται με τα προθέματα namespace, όπως το soap:Envelope;

Το πρόθεμα παραμένει μέρος του ονόματος του κλειδιού, έτσι το envelope εμφανίζεται ως soap:Envelope και η δήλωση namespace ως κλειδί @xmlns:soap. Έτσι τα στοιχεία από διαφορετικά λεξιλόγια μένουν ξεχωριστά· αν δουλεύετε μόνο με ένα, αφαιρέστε τα προθέματα στον κώδικά σας.

Μπορώ αργότερα να μετατρέψω το JSON ξανά σε XML;

Ναι, με το JSON σε XML. Ακολουθώντας την ίδια σύμβαση @ και #text, τα attributes επιστρέφουν ως attributes. Τα σχόλια και η αρχική στοίχιση δεν επανέρχονται, αφού το JSON δεν τα περιείχε ποτέ.