DataSwap Γρήγοροι μετατροπείς αρχείων και δεδομένων, χωρίς εγγραφή

Μετατροπέας JSON σε CSV

Επικολλήστε έναν πίνακα JSON από αντικείμενα παρακάτω. Τα κλειδιά ενώνονται σε όλα τα αντικείμενα για τη γραμμή κεφαλίδας, τα κλειδιά που λείπουν γίνονται κενά κελιά, και τα πεδία εξόδου μπαίνουν σε εισαγωγικά μόνο όταν πραγματικά το χρειάζονται. Τίποτα από όσα επικολλάτε δεν φεύγει από το πρόγραμμα περιήγησής σας.

Εισαγωγικά μόνο όταν πραγματικά χρειάζονται

Η σωστή εγγραφή CSV είναι το καθρέφτισμα της ανάλυσής του: ένα πεδίο χρειάζεται να τυλιχθεί σε διπλά εισαγωγικά μόνο αν το κείμενό του διαφορετικά θα διαβαζόταν λάθος — επειδή περιέχει τον διαχωριστή, ένα διπλό εισαγωγικό ή μια νέα γραμμή. Αυτό το εργαλείο ελέγχει κάθε πεδίο ξεχωριστά και βάζει σε εισαγωγικά ακριβώς αυτά που το χρειάζονται, διπλασιάζοντας κάθε κυριολεκτικό " μέσα σε ένα πεδίο με εισαγωγικά (το " γίνεται "") ώστε να μην μπορεί ποτέ να μπερδευτεί με το εισαγωγικό κλεισίματος. Η παράλειψη περιττών εισαγωγικών διατηρεί την έξοδο ευανάγνωστη· η μη παράλειψη ενός απαραίτητου εισαγωγικού τη διατηρεί σωστή.

Επιπλέον, αυτή η σελίδα χρησιμοποιεί το ερωτηματικό ως προεπιλεγμένο διαχωριστή αντί για το κόμμα, επειδή έτσι το Excel στα ελληνικά αναμένει το CSV κατά την εισαγωγή: το κόμμα χρησιμοποιείται ήδη ως δεκαδικός διαχωριστής σε αυτό το locale, οπότε ένα CSV διαχωρισμένο με κόμματα συχνά εισάγεται λάθος, με ολόκληρο το αρχείο να καταλήγει σε μία μόνο στήλη. Μπορείτε να αλλάξετε από τον επιλογέα αν χρειάζεστε κόμμα ή tab.

Πρακτικό παράδειγμα

Είσοδος:

[
  {"όνομα": "Smith, John", "σημείωση": "έχει \"εισαγωγικά\""},
  {"όνομα": "Lee"}
]

Το όνομα του πρώτου αντικειμένου περιέχει ένα κόμμα και η σημείωση του περιέχει κυριολεκτικά διπλά εισαγωγικά· το δεύτερο αντικείμενο δεν έχει καθόλου κλειδί σημείωση. Αυτό το εργαλείο παράγει (με ερωτηματικό ως διαχωριστή):

όνομα;σημείωση
"Smith, John";"έχει ""εισαγωγικά"""
Lee;

— τα όνομα και σημείωση έπρεπε να μπουν σε εισαγωγικά στην πρώτη γραμμή λόγω του ενσωματωμένου κόμματος και των εισαγωγικών, τα διπλά "" διατηρούν τα κυριολεκτικά σύμβολα εισαγωγικών, και η ελλείπουσα σημείωση του Lee είναι απλώς ένα κενό κελί αντί για κατάρρευση ή χαμένη γραμμή. Επικολλήστε ακριβώς αυτή την έξοδο στον μετατροπέα CSV σε JSON (με τον ίδιο διαχωριστή επιλεγμένο) και παίρνετε πίσω τα δύο αρχικά αντικείμενα.

Συχνές ερωτήσεις

Τι γίνεται αν τα αντικείμενά μου δεν έχουν όλα τα ίδια κλειδιά;

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

Πώς διαχειρίζονται τα ένθετα αντικείμενα και πίνακες;

Τα ένθετα αντικείμενα ισοπεδώνονται σε στήλες με σημειογραφία τελείας — το {"user":{"name":"Ada"}} γίνεται μια στήλη ονομασμένη κυριολεκτικά user.name. Οι πίνακες διατηρούνται ως ένα μόνο κελί που περιέχει το κείμενο JSON τους (π.χ. ["dev","ops"]), αφού μια λίστα δεν έχει προφανή αντιστοίχιση στήλης-ανά-στοιχείο. Αυτό διατηρεί κάθε τιμή ορατή στο CSV αντί να απορρίπτει κάτι σιωπηλά.

Γιατί μερικά από τα πεδία εξόδου μου έχουν εισαγωγικά και άλλα όχι;

Ένα πεδίο τυλίγεται σε διπλά εισαγωγικά μόνο όταν πραγματικά το χρειάζεται: όταν το κείμενό του περιέχει τον διαχωριστή που επιλέξατε, ένα διπλό εισαγωγικό ή μια νέα γραμμή. Κάθε κυριολεκτικό διπλό εισαγωγικό μέσα στο πεδίο διπλασιάζεται (το " γίνεται "") ώστε να μην μπορεί να μπερδευτεί με το εισαγωγικό κλεισίματος. Απλές τιμές όπως το Boston μένουν χωρίς εισαγωγικά — αυτό διατηρεί την έξοδο ευανάγνωστη παραμένοντας ταυτόχρονα σαφής για οτιδήποτε την ξανααναλύει.

Τι γίνεται με τον διαχωριστή; Γιατί ερωτηματικό αντί για κόμμα;

Επειδή οι ελληνικές εκδόσεις του Excel εξάγουν και εισάγουν CSV με ερωτηματικό ως προεπιλογή: το κόμμα χρησιμοποιείται ήδη ως δεκαδικός διαχωριστής σε αυτό το locale (το "3,14" είναι το π, όχι δύο στήλες), οπότε ένα CSV διαχωρισμένο με κόμματα θα ήταν διφορούμενο ή θα εισαγόταν λάθος σε μία μόνο στήλη. Χρησιμοποιήστε τον επιλογέα πάνω από το πεδίο εισαγωγής αν χρειάζεστε κόμμα ή tab — το αποτέλεσμα παραμένει σωστά εισαγωγικοποιημένο CSV σε κάθε περίπτωση.

Επιστρέφει αυτό ακριβώς στο ίδιο JSON;

Ναι — επικολλήστε το CSV που παράγει αυτό το εργαλείο στον μετατροπέα CSV σε JSON με τον ίδιο διαχωριστή επιλεγμένο, και παίρνετε πίσω τα αρχικά δεδομένα (οι ένθετες διαδρομές γίνονται κλειδιά με τελείες αντί να ανακατασκευαστούν ως ένθετα αντικείμενα, αφού αυτή η αντιστροφή είναι γενικά διφορούμενη, αλλά καμία τιμή δεν χάνεται). Δοκιμάζουμε ακριβώς αυτό το round-trip σε κάθε έκδοση.