Formaatige ja ilustage oma JSON andmeid korraliku sissetõmbega. Muudab toore JSONi loetavaks süntaksi esiletõstmise ja valideerimisega.
Formaatige ja kaunistage oma JSON-i selle lihtsa tööriistaga
Formaatitud JSON ilmub siia...
JSON (JavaScript Object Notation) on kergekaaluline andmevahetuse formaat, mis on saanud standardiks andmevahetuses veebirakendustes. Oma lihtsuse tõttu võib JSON-andmed muutuda raskesti loetavaks, kui need on minifitseeritud või puudub korralik vormindamine. See tööriist aitab teil muuta toore, vormindamata JSON-stringid hästi struktureeritud, sissetõmmatud vormingusse, mis on palju lihtsam lugeda ja analüüsida.
JSON-i vormindamine (tuntud ka kui "ilus printimine") lisab järjepideva sissetõmbumise, reavahetused ja vahemaa, et visuaalselt esitada JSON-andmete hierarhiline struktuur. See on eriti väärtuslik, kui töötada keerukate pesastatud objektide või suurte andmekogumitega, kus elementide vahelised suhted võivad muidu olla raskesti mõistetavad.
Meie JSON-i vormindaja tööriist pakub lihtsat liidest, et kaunistada teie JSON-andmeid korraliku sissetõmbumise ja struktuuriga, muutes selle inimeste jaoks loetavamaks, säilitades samal ajal selle kehtivuse masinate jaoks.
JSON põhineb kahel peamisel struktuuril:
{}
sisse. Iga nimi on järgnenud koolonile :
ja paarid on eraldatud komadega ,
.1 {"name": "John", "age": 30, "city": "New York"}
2
[]
sisse. Väärtused on eraldatud komadega ,
.1 ["apple", "banana", "cherry"]
2
JSON-i väärtused võivad olla:
"Tere maailm"
42
või 3.14159
true
või false
null
{"key": "value"}
[1, 2, 3]
Korralik JSON peab järgima neid süntaksireegleid:
Tavaliselt esinevad süntaksivead hõlmavad:
JSON-i vormindamine muudab kompaktse, minifitseeritud JSON-i loetavamaks, tehes järgmist:
Parsimine: JSON-stringi parsitakse kõigepealt, et tagada selle kehtivus ja luua andmestruktuuri mälus esitus.
Sissetõmbumine: Iga pesastatud objekti ja massiivi tase sissetõmmatakse (tavaliselt 2 või 4 tühikut), et visuaalselt esitada hierarhiat.
Reavahetused: Uued read lisatakse pärast iga omadust või massiivi elementi, et parandada loetavust.
Vahemaa: Lisatakse järjepidev vahemaa koolonite ja komade ümber.
Näiteks see minifitseeritud JSON:
1{"name":"John Doe","age":30,"address":{"street":"123 Main St","city":"Anytown","state":"CA"},"hobbies":["reading","hiking","photography"]}
2
Muudetakse järgmiseks vormindatud JSON-iks:
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
Meie vormindaja kasutab standardset sissetõmbumist 2 tühikut taseme kohta, mis on arenduskogukonnas levinud praktika ja pakub head tasakaalu kompaktsuse ja loetavuse vahel.
JSON-i vormindamise kriitiline aspekt on valideerimine. Enne kui JSON-i saab vormindada, peab see olema süntaktiliselt kehtiv vastavalt JSON-i spetsifikatsioonile. Levinud valideerimisvead hõlmavad:
Süntaksivead:
Andmetüübi vead:
undefined
või NaN
kasutamineKui kohtate kehtetut JSON-i, võib veateade aidata tuvastada probleemi. Enamik JSON-i parsereid näitab asukohta, kus parsimine ebaõnnestus, mis aitab probleemi paikneda. Meie tööriist pakub selgeid veateateid, et aidata teil tuvastada ja parandada probleeme oma JSON-andmetes.
JSON-i vormindamine on väärtuslik paljudes stsenaariumides:
API-dega töötamisel muudab vormindatud JSON lihtsamaks:
Paljud kaasaegsed rakendused kasutavad JSON-i konfiguratsiooniks:
Vormindatud JSON aitab, kui:
Korralikult vormindatud JSON on hädavajalik, kui:
Selge JSON-i vormindamine on väärtuslik:
Kuigi meie veebipõhine JSON-i vormindaja on mugav kiirete vormindamiste jaoks, eksisteerivad mitmed alternatiivid erinevate stsenaariumide jaoks:
Kaasaegsed brauserid sisaldavad JSON-i vormindamise võimalusi:
Enamik arenduskeskkondi pakub JSON-i vormindamist:
Terminali kasutajatele või automatiseerimiseks:
jq
on võimas käsurea JSON-i töötlejajson_pp
on paljudes Unix-süsteemides eelnevalt installitudpython -m json.tool
pakub kiiret vormindamist PythonigaJSON-i vormindamisel rakendustes:
1// JavaScript
2const formatted = JSON.stringify(jsonObject, null, 2);
3
1# Python
2import json
3formatted = json.dumps(json_object, indent=2)
4
1// Java koos Gsoniga
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 loodi Douglas Crockfordi poolt 2000. aastate alguses kergekaalulisena alternatiivina XML-ile. Formaat on tuletatud JavaScripti objektide literaalide süntaksist, kuid kavandatud olema keele sõltumatu. 2006. aastal määratleti JSON ametlikult RFC 4627-s ja see sai kiiresti populaarseks oma lihtsuse ja JavaScriptiga ühilduvuse tõttu.
Enne JSON-i oli XML domineeriv formaat andmevahetuseks, kuid selle ulatuslikkus ja keerukus muutsid selle paljude rakenduste jaoks tülikaks. JSON pakkus lühemat süntaksit, mida oli lihtsam lugeda ja kirjutada, nii inimestele kui ka masinatele. See sobis ka suurepäraselt JavaScripti objekti mudeliga, muutes selle veebirakenduste loomise loomulikuks valikuks.
JSON-i vastuvõtt kiirenes AJAX-i ja RESTful API-de tõusuga 2000. aastate keskpaiku. 2010. aastateks oli see saanud de facto standardiks veeb API-de, konfiguratsioonifailide ja NoSQL andmebaasides, nagu MongoDB ja CouchDB, andmehoidmiseks.
Täna toetab JSON-i praktiliselt iga programmeerimiskeel ja seda kasutatakse lugematutes rakendustes üle kogu veebis. Selle lihtsus, paindlikkus ja universaalne tugi on teinud sellest ühe tähtsama andmeformaadi kaasaegses arvutitehnoloogias.
Siin on näited, kuidas vormindada JSON-i erinevates programmeerimiskeeltes:
1// JavaScripti JSON-i vormindamine
2function formatJSON(jsonString) {
3 try {
4 const parsedData = JSON.parse(jsonString);
5 return JSON.stringify(parsedData, null, 2);
6 } catch (error) {
7 return `Viga: ${error.message}`;
8 }
9}
10
11// Näite kasutamine
12const rawJSON = '{"name":"John","age":30,"city":"New York"}';
13console.log(formatJSON(rawJSON));
14
1# Python JSON-i vormindamine
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"Viga: {str(e)}"
10
11# Näite kasutamine
12raw_json = '{"name":"John","age":30,"city":"New York"}'
13print(format_json(raw_json))
14
1// Java JSON-i vormindamine koos Gsoniga
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 "Viga: " + 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-i vormindamine
2function formatJSON($jsonString) {
3 $result = json_decode($jsonString);
4 if (json_last_error() !== JSON_ERROR_NONE) {
5 return "Viga: " . json_last_error_msg();
6 }
7 return json_encode($result, JSON_PRETTY_PRINT);
8}
9
10// Näite kasutamine
11$rawJSON = '{"name":"John","age":30,"city":"New York"}';
12echo formatJSON($rawJSON);
13
1# Ruby JSON-i vormindamine
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 "Viga: #{e.message}"
10 end
11end
12
13# Näite kasutamine
14raw_json = '{"name":"John","age":30,"city":"New York"}'
15puts format_json(raw_json)
16
1// C# JSON-i vormindamine koos Newtonsoft.Jsoniga
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 $"Viga: {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-i vormindamine
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("Viga: %s", err.Error())
14 }
15
16 formattedBytes, err := json.MarshalIndent(parsedData, "", " ")
17 if err != nil {
18 return fmt.Sprintf("Viga: %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-i vormindamisel olge teadlikud nendest võimalike väljakutsetest:
Väga suured JSON-failid (mitu megabaiti või rohkem) võivad põhjustada jõudlusprobleeme brauseripõhistes vormindajates. Selliste juhtumite jaoks:
jq
kasutamistÄärmiselt pesastatud JSON (rohkem kui 10-20 taset sügavale) võib isegi vormindatuna muutuda raskesti navigeeritavaks. Sellistel juhtudel:
JSON toetab Unicode'i, kuid mõned vormindajad võivad teatud märkidega probleeme tekitada:
JSON ei määra numbrite täpsust, mis võib põhjustada probleeme väga suurte täisarvude või ujukomaarvudega:
Kehtiv JSON sisaldab tühje objekte {}
ja massiive []
, mis tuleks korralikult vormindada:
{}
[]
Avasta rohkem tööriistu, mis võivad olla kasulikud teie töövoos