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

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

Δώστε δεδομένα JSON σε λογισμικό που καταλαβαίνει μόνο XML. Κάθε εγγραφή γίνεται στοιχείο, κάθε κλειδί θυγατρική ετικέτα, και ολόκληρο το έγγραφο βρίσκεται κάτω από ένα ριζικό στοιχείο με όνομα της επιλογής σας.

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

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

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

Έξοδος

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

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

  1. 1

    Ανεβάστε το JSON

    Προσθέστε ένα αρχείο .json, όπως μια απάντηση API, ή ένα αρχείο JSON Lines. Έως 20 αρχεία, 95 MB το καθένα.

  2. 2

    Ονομάστε το ριζικό στοιχείο

    Στις Σύνθετες ρυθμίσεις, πληκτρολογήστε την εξωτερική ετικέτα στο πεδίο Ριζική ετικέτα XML (η αρχική τιμή είναι rows) και αφήστε ενεργή την Ευανάγνωστη μορφοποίηση για έξοδο με εσοχές.

  3. 3

    Μετατρέψτε και αντιστοιχίστε

    Πατήστε Μετατροπή σε XML και κατεβάστε το αρχείο. Μετονομάστε τις ετικέτες όπου το σχήμα του συστήματος παραλαβής αναμένει διαφορετικά ονόματα.

Γιατί να μετατρέψετε JSON σε XML, όταν τα περισσότερα API χρησιμοποιούν πλέον JSON

Το JSON επικράτησε στα web API· η τρέχουσα προδιαγραφή του, το RFC 8259 του 2017, χωράει σε λίγες σελίδες. Το XML είναι παλαιότερο, Σύσταση του W3C από τον Φεβρουάριο του 1998, και δεν έφυγε ποτέ από τους χώρους όπου τα συμβόλαια είναι αυστηρά: τραπεζικές υπηρεσίες, ηλεκτρονική τιμολόγηση, εκδόσεις και κρατική υποβολή στοιχείων.

Έτσι, η κατεύθυνση αυτής της μετατροπής συνήθως ακολουθεί το χρήμα ή τη νομοθεσία. Ένας προγραμματιστής παίρνει παραγγελίες από ένα API JSON και πρέπει να τις στείλει σε μια υπηρεσία SOAP συνεργάτη. Ένα κατάστημα κρατά τα προϊόντα σε JSON, αλλά ο ιστότοπος σύγκρισης τιμών θέλει feed XML. Μια ομάδα αποθηκεύει μεταφράσεις σε JSON και ένα build Android περιμένει strings.xml. Όταν ο προορισμός είναι υπολογιστικό φύλλο, η μετατροπή JSON σε CSV δίνει γραμμές αντί για στοιχεία.

Συστήματα που εξακολουθούν να δέχονται μόνο XML

Πού χρησιμοποιείται η μετατροπή JSON σε XML
ΟργανισμόςΑπαίτησηΠηγή
Υπηρεσίες web SOAPΚάθε αίτημα ταξιδεύει ως φάκελος XML· το SOAP 1.2 έγινε Σύσταση του W3C το 2003—
Google Merchant CenterFeed προϊόντων που γίνονται δεκτά ως XML σε RSS 2.0 ή Atom 1.0, καθώς και ως κείμενο με διαχωριστικά—
Ηλεκτρονική τιμολόγηση PeppolΤιμολόγια που ανταλλάσσονται ως έγγραφα UBL 2.1 XML βάσει των κανόνων Peppol BIS Billing 3.0—
Εφαρμογές AndroidΟι πόροι κειμένου και οι μεταφράσεις βρίσκονται στο res/values/strings.xml—

Παράδειγμα JSON σε XML: δύο προϊόντα

XML που προκύπτει από [{"sku":"A-17","price":12.5,"tags":["νέο","προσφορά"]}, {"sku":"B-02","price":8}]
<?xml version="1.0" encoding="UTF-8"?>
<rows>
  <row>
    <sku>A-17</sku>
    <price>12.5</price>
    <tags>νέο</tags>
    <tags>προσφορά</tags>
  </row>
  <row>
    <sku>B-02</sku>
    <price>8</price>
  </row>
</rows>

ΜύθοςΤο JSON και το XML αντιστοιχούν ένα προς ένα, άρα η μετατροπή είναι ακριβής.

ΓεγονόςΤο XML έχει attributes, μικτό περιεχόμενο και namespaces που λείπουν από το JSON, και το JSON έχει τύπους που λείπουν από το XML. Ο μετατροπέας πρέπει να διαλέξει μία αντιστοίχιση· αυτός χρησιμοποιεί παντού θυγατρικά στοιχεία.

ΜύθοςΟ αριθμός 12.5 παραμένει αριθμός στο XML.

ΓεγονόςΤο XML αποθηκεύει χαρακτήρες. Το 12.5 είναι κείμενο μέχρι ένα σχήμα ή το πρόγραμμα ανάγνωσης να πει ότι είναι δεκαδικός.

Τι αλλάζει όταν το JSON γίνεται XML

Τρία πράγματα αξίζουν έλεγχο. Οι τύποι γίνονται κείμενο, οπότε τα true, null και 0 φτάνουν όλα ως χαρακτήρες· το null συνήθως γίνεται κενό στοιχείο. Τα κλειδιά που δεν είναι έγκυρα ονόματα XML πρέπει να μετονομαστούν, αφού μια ετικέτα δεν μπορεί να ξεκινά με ψηφίο ούτε να περιέχει κενό. Και η έξοδος είναι μεγαλύτερη, επειδή κάθε τιμή περικλείεται σε ετικέτα έναρξης και λήξης που επαναλαμβάνει το κλειδί.

Τίποτε άλλο δεν χάνεται. Η φωλιασμένη δομή διατηρείται ως φωλιασμένα στοιχεία, η σειρά των εγγραφών μένει ίδια και το κείμενο Unicode παραμένει αρτιο, επειδή το αρχείο γράφεται σε UTF-8. Περισσότερες επιλογές για δομημένα δεδομένα, από YAML έως SQL, θα βρείτε στη σελίδα του μετατροπέα δεδομένων.

Στοιχεία για τις μορφές JSON και XML

JSON

JavaScript Object Notation

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

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

XML

Extensible Markup Language

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

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

Το JSON μετατρέπεται σε XML όταν σύγχρονα δεδομένα πρέπει να μπουν σε παλαιότερο συμβόλαιο: ένα SOAP endpoint, ένα feed προϊόντων, ένα δίκτυο ηλεκτρονικής τιμολόγησης ή ένα αρχείο ρυθμίσεων του οποίου ο αποδέκτης έχει γραφτεί να διαβάζει στοιχεία, όχι άγκιστρα.

Συχνές ερωτήσεις για τη μετατροπή JSON σε XML

Γιατί το XML χρειάζεται ένα ριζικό στοιχείο, όταν το JSON μου ξεκινά με πίνακα;

Η προδιαγραφή XML 1.0 απαιτεί κάθε well-formed έγγραφο να έχει ακριβώς ένα στοιχείο που περιέχει όλα τα υπόλοιπα. Ένας πίνακας JSON δεν έχει τέτοιο περίβλημα, γι' αυτό ο μετατροπέας προσθέτει ένα, με το όνομα που ορίζετε στη Ριζική ετικέτα XML, και τοποθετεί κάθε στοιχείο του πίνακα μέσα του ως <row>.

Τι γίνεται με κλειδιά JSON όπως "2024 total" ή "unit price";

Κανένα από τα δύο δεν είναι έγκυρο όνομα στοιχείου XML: τα ονόματα δεν μπορούν να ξεκινούν με ψηφίο ούτε να περιέχουν κενά. Μετονομάστε τέτοια κλειδιά στο JSON πριν από τη μετατροπή, κατά προτίμηση στα ακριβή ονόματα ετικετών που χρησιμοποιεί το σχήμα του παραλήπτη, ώστε η έξοδος να μη χρειάζεται διόρθωση.

Πώς γράφεται σε XML ένας πίνακας JSON μέσα σε μια εγγραφή;

Ως το ίδιο στοιχείο επαναλαμβανόμενο μία φορά για κάθε τιμή. Ένας πίνακας tags με τρία κείμενα γίνεται τρία στοιχεία <tags> στη σειρά. Ένας κενός πίνακας δεν αφήνει τίποτα πίσω του, κάτι που είναι από τις λίγες περιπτώσεις όπου η μετατροπή JSON σε XML χάνει πληροφορία.

Θα περάσει το XML τον έλεγχο XSD του συνεργάτη μου;

Μόνο αν η δομή ταιριάζει ήδη. Ο μετατροπέας γράφει ένα πιστό, well-formed αντίγραφο του JSON σας· δεν μπορεί να γνωρίζει τη σειρά στοιχείων, τα namespaces ή τα attributes που απαιτεί ένας συνεργάτης. Χρησιμοποιήστε την έξοδο ως αφετηρία και προσαρμόστε την στο σχήμα.

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

Χρησιμοποιήστε τη μετατροπή XML σε JSON. Αναμένετε μικρές διαφορές στη διαδρομή πίσω: το XML αποθηκεύει κάθε τιμή ως κείμενο, οπότε ένας αριθμός ή ένα true που ξεκίνησε στο JSON μπορεί να επιστρέψει ως string.