Διαμορφώστε και ομορφύνετε τα δεδομένα JSON σας με σωστή εσοχή. Κάνει το ακατέργαστο JSON αναγνώσιμο με χρωματική κωδικοποίηση και επικύρωση.
Διαμορφώστε και ομορφύνετε το JSON σας με αυτό το απλό εργαλείο
Το διαμορφωμένο JSON θα εμφανιστεί εδώ...
Το JSON (JavaScript Object Notation) είναι μια ελαφριά μορφή ανταλλαγής δεδομένων που έχει γίνει το πρότυπο για την ανταλλαγή δεδομένων σε διαδικτυακές εφαρμογές. Παρά την απλότητά του, τα δεδομένα JSON μπορεί να γίνουν δύσκολα στην ανάγνωση όταν είναι συμπιεσμένα ή δεν έχουν σωστή μορφοποίηση. Αυτό το εργαλείο σας βοηθά να μετατρέψετε ακατέργαστες, μη μορφοποιημένες συμβολοσειρές JSON σε μια καλά δομημένη, εσοχή μορφή που είναι πολύ πιο εύκολη στην ανάγνωση και ανάλυση.
Η μορφοποίηση JSON (γνωστή και ως "όμορφη εκτύπωση") προσθέτει συνεπή εσοχή, αλλαγές γραμμής και κενά για να καταστήσει τη ιεραρχική δομή των δεδομένων JSON οπτικά προφανή. Αυτό είναι ιδιαίτερα πολύτιμο όταν εργάζεστε με πολύπλοκα φωλιασμένα αντικείμενα ή μεγάλες σύνολες δεδομένων όπου οι σχέσεις μεταξύ των στοιχείων μπορεί να είναι διαφορετικά δύσκολες να διακριθούν.
Το εργαλείο μορφοποίησης JSON μας παρέχει μια απλή διεπαφή για να ομορφύνετε τα δεδομένα JSON σας με σωστή εσοχή και δομή, καθιστώντας τα πιο αναγνώσιμα για τους ανθρώπους ενώ διατηρεί την εγκυρότητά τους για τις μηχανές.
Το JSON βασίζεται σε δύο κύριες δομές:
{}
. Κάθε όνομα ακολουθείται από άνω και κάτω τελεία :
και τα ζεύγη διαχωρίζονται με κόμματα ,
.1 {"name": "John", "age": 30, "city": "New York"}
2
[]
. Οι τιμές διαχωρίζονται με κόμματα ,
.1 ["apple", "banana", "cherry"]
2
Οι τιμές JSON μπορούν να είναι:
"Hello World"
42
ή 3.14159
true
ή false
null
{"key": "value"}
[1, 2, 3]
Η σωστή JSON πρέπει να ακολουθεί αυτούς τους κανόνες σύνταξης:
Συνηθισμένα σφάλματα σύνταξης περιλαμβάνουν:
Η μορφοποίηση JSON μετατρέπει συμπιεσμένα, μη μορφοποιημένα JSON σε μια πιο αναγνώσιμη μορφή μέσω:
Ανάλυσης: Η συμβολοσειρά JSON αναλύεται πρώτα για να διασφαλιστεί ότι είναι έγκυρη και για να δημιουργηθεί μια αναπαράσταση δεδομένων στη μνήμη.
Εσοχή: Κάθε φωλιασμένο επίπεδο αντικειμένων και πινάκων εσοχεύεται (συνήθως με 2 ή 4 κενά) για να αναπαραστήσει οπτικά την ιεραρχία.
Αλλαγές Γραμμής: Νέες γραμμές προστίθενται μετά από κάθε ιδιότητα ή στοιχείο πίνακα για να βελτιωθεί η αναγνωσιμότητα.
Κενά: Προστίθενται συνεπή κενά γύρω από τις άνω και κάτω τελείες και τα κόμματα.
Για παράδειγμα, αυτό το συμπιεσμένο JSON:
1{"name":"John Doe","age":30,"address":{"street":"123 Main St","city":"Anytown","state":"CA"},"hobbies":["reading","hiking","photography"]}
2
Γίνεται αυτό το μορφοποιημένο JSON:
1{
2 "name": "John Doe",
3 "age": 30,
4 "address": {
5 "street": "123 Main St",
6 "city": "Anytown",
7 "state": "CA"
8 },
9 "hobbies": [
10 "reading",
11 "hiking",
12 "photography"
13 ]
14}
15
Ο μορφοποιητής μας χρησιμοποιεί μια τυπική εσοχή 2 κενών ανά επίπεδο, η οποία είναι μια κοινή σύμβαση στην αναπτυξιακή κοινότητα και παρέχει μια καλή ισορροπία μεταξύ συμπυκνωμένου και αναγνώσιμου.
Μια κρίσιμη πτυχή της μορφοποίησης JSON είναι η έγκριση. Πριν μπορέσει το JSON να μορφοποιηθεί, πρέπει να είναι συντακτικά έγκυρο σύμφωνα με την προδιαγραφή JSON. Συνηθισμένα σφάλματα έγκρισης περιλαμβάνουν:
Σφάλματα Σύνταξης:
Σφάλματα Τύπων Δεδομένων:
undefined
ή NaN
Όταν συναντάτε μη έγκυρο JSON, το μήνυμα σφάλματος μπορεί να βοηθήσει στην αναγνώριση του ζητήματος. Οι περισσότερες αναλυτικές JSON θα υποδείξουν τη θέση όπου απέτυχε η ανάλυση, γεγονός που μπορεί να βοηθήσει στην εύρεση του προβλήματος. Το εργαλείο μας παρέχει σαφή μηνύματα σφάλματος για να σας βοηθήσει να εντοπίσετε και να διορθώσετε ζητήματα στα δεδομένα JSON σας.
Η μορφοποίηση JSON είναι πολύτιμη σε πολλές περιπτώσεις:
Όταν εργάζεστε με RESTful APIs, η μορφοποιημένη JSON διευκολύνει:
Πολλές σύγχρονες εφαρμογές χρησιμοποιούν JSON για ρυθμίσεις:
Η μορφοποιημένη JSON βοηθά όταν:
Η σωστά μορφοποιημένη JSON είναι απαραίτητη όταν:
Η σαφής μορφοποίηση JSON είναι πολύτιμη για:
Ενώ ο διαδικτυακός μορφοποιητής JSON μας είναι βολικός για γρήγορες εργασίες μορφοποίησης, υπάρχουν πολλές εναλλακτικές για διαφορετικά σενάρια:
Οι σύγχρονοι περιηγητές περιλαμβάνουν δυνατότητες μορφοποίησης JSON:
Οι περισσότερες αναπτυξιακές περιβάλλοντα προσφέρουν μορφοποίηση JSON:
Για χρήστες τερματικού ή αυτοματοποίηση:
jq
είναι ένας ισχυρός επεξεργαστής JSON γραμμής εντολώνjson_pp
έρχεται προεγκατεστημένο σε πολλά συστήματα Unixpython -m json.tool
παρέχει γρήγορη μορφοποίηση χρησιμοποιώντας PythonΌταν μορφοποιείτε JSON εντός εφαρμογών:
1// JavaScript
2const formatted = JSON.stringify(jsonObject, null, 2);
3
1# Python
2import json
3formatted = json.dumps(json_object, indent=2)
4
1// Java με Gson
2Gson gson = new GsonBuilder().setPrettyPrinting().create();
3String formatted = gson.toJson(jsonObject);
4
1# Ruby
2require 'json'
3formatted = JSON.pretty_generate(json_object)
4
1// PHP
2$formatted = json_encode($jsonObject, JSON_PRETTY_PRINT);
3
Το JSON δημιουργήθηκε από τον Douglas Crockford στις αρχές της δεκαετίας του 2000 ως μια ελαφριά εναλλακτική λύση στο XML. Η μορφή προήλθε από τη σύνταξη αντικειμένου JavaScript, αλλά σχεδιάστηκε για να είναι ανεξάρτητη από τη γλώσσα. Το 2006, το JSON καθορίστηκε επίσημα στο RFC 4627 και κέρδισε γρήγορα δημοτικότητα λόγω της απλότητάς του και της συμβατότητάς του με τη JavaScript.
Πριν από το JSON, το XML ήταν η κυρίαρχη μορφή για την ανταλλαγή δεδομένων, αλλά η φλυαρία και η πολυπλοκότητά του το καθιστούσαν δύσχρηστο για πολλές εφαρμογές. Το JSON προσέφερε μια πιο συνοπτική σύνταξη που ήταν πιο εύκολη στην ανάγνωση και τη συγγραφή, τόσο για ανθρώπους όσο και για μηχανές. Επίσης, ευθυγραμμίστηκε τέλεια με το μοντέλο αντικειμένου της JavaScript, καθιστώντας το τη φυσική επιλογή για διαδικτυακές εφαρμογές.
Η υιοθέτηση του JSON επιταχύνθηκε με την άνοδο του AJAX και των RESTful APIs στα μέσα της δεκαετίας του 2000. Μέχρι τη δεκαετία του 2010, είχε γίνει το de facto πρότυπο για διαδικτυακά APIs, αρχεία ρυθμίσεων και αποθήκευση δεδομένων σε βάσεις δεδομένων NoSQL όπως το MongoDB και το CouchDB.
Σήμερα, το JSON υποστηρίζεται από σχεδόν όλες τις γλώσσες προγραμματισμού και χρησιμοποιείται σε αμέτρητες εφαρμογές στον ιστό. Η απλότητά του, η ευελιξία του και η παγκόσμια υποστήριξή του το έχουν καταστήσει μία από τις πιο σημαντικές μορφές δεδομένων στη σύγχρονη υπολογιστική.
Ακολουθούν παραδείγματα για το πώς να μορφοποιήσετε JSON σε διάφορες γλώσσες προγραμματισμού:
1// JavaScript JSON μορφοποίηση
2function formatJSON(jsonString) {
3 try {
4 const parsedData = JSON.parse(jsonString);
5 return JSON.stringify(parsedData, null, 2);
6 } catch (error) {
7 return `Σφάλμα: ${error.message}`;
8 }
9}
10
11// Παράδειγμα χρήσης
12const rawJSON = '{"name":"John","age":30,"city":"New York"}';
13console.log(formatJSON(rawJSON));
14
1# Python JSON μορφοποίηση
2import json
3
4def format_json(json_string):
5 try:
6 parsed_data = json.loads(json_string)
7 return json.dumps(parsed_data, indent=2)
8 except json.JSONDecodeError as e:
9 return f"Σφάλμα: {str(e)}"
10
11# Παράδειγμα χρήσης
12raw_json = '{"name":"John","age":30,"city":"New York"}'
13print(format_json(raw_json))
14
1// Java JSON μορφοποίηση με Gson
2import com.google.gson.Gson;
3import com.google.gson.GsonBuilder;
4import com.google.gson.JsonSyntaxException;
5
6public class JSONFormatter {
7 public static String formatJSON(String jsonString) {
8 try {
9 Gson gson = new GsonBuilder().setPrettyPrinting().create();
10 Object parsedJson = gson.fromJson(jsonString, Object.class);
11 return gson.toJson(parsedJson);
12 } catch (JsonSyntaxException e) {
13 return "Σφάλμα: " + e.getMessage();
14 }
15 }
16
17 public static void main(String[] args) {
18 String rawJSON = "{\"name\":\"John\",\"age\":30,\"city\":\"New York\"}";
19 System.out.println(formatJSON(rawJSON));
20 }
21}
22
1// PHP JSON μορφοποίηση
2function formatJSON($jsonString) {
3 $result = json_decode($jsonString);
4 if (json_last_error() !== JSON_ERROR_NONE) {
5 return "Σφάλμα: " . json_last_error_msg();
6 }
7 return json_encode($result, JSON_PRETTY_PRINT);
8}
9
10// Παράδειγμα χρήσης
11$rawJSON = '{"name":"John","age":30,"city":"New York"}';
12echo formatJSON($rawJSON);
13
1# Ruby JSON μορφοποίηση
2require 'json'
3
4def format_json(json_string)
5 begin
6 parsed_data = JSON.parse(json_string)
7 return JSON.pretty_generate(parsed_data)
8 rescue JSON::ParserError => e
9 return "Σφάλμα: #{e.message}"
10 end
11end
12
13# Παράδειγμα χρήσης
14raw_json = '{"name":"John","age":30,"city":"New York"}'
15puts format_json(raw_json)
16
1// C# JSON μορφοποίηση με Newtonsoft.Json
2using Newtonsoft.Json;
3using System;
4
5class JSONFormatter
6{
7 public static string FormatJSON(string jsonString)
8 {
9 try
10 {
11 object parsedJson = JsonConvert.DeserializeObject(jsonString);
12 return JsonConvert.SerializeObject(parsedJson, Formatting.Indented);
13 }
14 catch (JsonException e)
15 {
16 return $"Σφάλμα: {e.Message}";
17 }
18 }
19
20 static void Main()
21 {
22 string rawJSON = "{\"name\":\"John\",\"age\":30,\"city\":\"New York\"}";
23 Console.WriteLine(FormatJSON(rawJSON));
24 }
25}
26
1// Go JSON μορφοποίηση
2package main
3
4import (
5 "encoding/json"
6 "fmt"
7)
8
9func formatJSON(jsonString string) string {
10 var parsedData interface{}
11 err := json.Unmarshal([]byte(jsonString), &parsedData)
12 if err != nil {
13 return fmt.Sprintf("Σφάλμα: %s", err.Error())
14 }
15
16 formattedBytes, err := json.MarshalIndent(parsedData, "", " ")
17 if err != nil {
18 return fmt.Sprintf("Σφάλμα: %s", err.Error())
19 }
20
21 return string(formattedBytes)
22}
23
24func main() {
25 rawJSON := `{"name":"John","age":30,"city":"New York"}`
26 fmt.Println(formatJSON(rawJSON))
27}
28
Όταν εργάζεστε με μορφοποίηση JSON, να είστε προσεκτικοί σε αυτές τις πιθανές προκλήσεις:
Πολύ μεγάλα αρχεία JSON (αρκετών megabytes ή περισσότερα) μπορεί να προκαλέσουν προβλήματα απόδοσης στους διαδικτυακούς μορφοποιητές. Για τέτοιες περιπτώσεις:
jq
Εξαιρετικά φωλιασμένο JSON (περισσότερο από 10-20 επίπεδα βάθους) μπορεί να γίνει δύσκολο να πλοηγηθείτε ακόμη και όταν είναι μορφοποιημένο. Σε αυτές τις περιπτώσεις:
Το JSON υποστηρίζει Unicode, αλλά ορισμένοι μορφοποιητές μπορεί να έχουν προβλήματα με ορισμένους χαρακτήρες:
Το JSON δεν καθορίζει την ακρίβεια για τους αριθμούς, γεγονός που μπορεί να οδηγήσει σε προβλήματα με πολύ μεγάλους ακέραιους ή αριθμούς κινητής υποδιαστολής:
Η έγκυρη JSON περιλαμβάνει κενά αντικείμενα {}
και πίνακες []
, τα οποία πρέπει να μορφοποιούνται σωστά:
{}
[]
Ανακαλύψτε περισσότερα εργαλεία που μπορεί να είναι χρήσιμα για τη ροή εργασίας σας