Oblikujte in polepšajte svoje JSON podatke s pravilnim umikom. Naredi surov JSON berljiv s poudarjanjem sintakse in validacijo.
Oblikujte in izboljšajte svoj JSON s tem preprostim orodjem
Oblikovan JSON se bo prikazal tukaj...
JSON (JavaScript Object Notation) je lahek format za izmenjavo podatkov, ki je postal standard za izmenjavo podatkov v spletnih aplikacijah. Kljub svoji preprostosti lahko podatki v JSON-u postanejo težko berljivi, ko so minificirani ali nimajo ustreznega oblikovanja. Ta pripomoček vam pomaga pretvoriti surove, neoblikovane JSON nize v dobro strukturirano, zamaknjeno obliko, ki je veliko lažje brati in analizirati.
Oblikovanje JSON (znano tudi kot "lepo tiskanje") doda dosledno zamikanje, prelome vrstic in razmik, da bi vizualno prikazalo hierarhično strukturo podatkov JSON. To je še posebej dragoceno pri delu s kompleksnimi gnezdenimi objekti ali velikimi nabori podatkov, kjer bi bile povezave med elementi sicer težko razločljive.
Naš pripomoček za oblikovanje JSON ponuja preprost vmesnik za izboljšanje vaših podatkov JSON z ustreznim zamikanjem in strukturo, kar omogoča boljšo berljivost za ljudi, hkrati pa ohranja veljavnost za stroje.
JSON temelji na dveh osnovnih strukturah:
{}
. Vsako ime sledi dvopičju :
in pari so ločeni z vejicami ,
.1 {"ime": "Janez", "starost": 30, "mesto": "New York"}
2
[]
. Vrednosti so ločene z vejicami ,
.1 ["jabolko", "banana", " češnja"]
2
Vrednosti JSON lahko vključujejo:
"Pozdravljen svet"
42
ali 3.14159
true
ali false
null
{"ključ": "vrednost"}
[1, 2, 3]
Pravilni JSON mora upoštevati te sintaktične pravilnosti:
Pogoste sintaktične napake vključujejo:
Oblikovanje JSON pretvarja kompaktni, minificirani JSON v bolj berljivo obliko tako, da:
Analizira: JSON niz se najprej analizira, da se zagotovi, da je veljaven in da se ustvari predstavitev podatkovne strukture v pomnilniku.
Zamikanje: Vsaka gnezdena raven objektov in seznamov se zamakne (običajno za 2 ali 4 presledke), da se vizualno prikaže hierarhija.
Prelomi vrstic: Nova vrstica se doda po vsaki lastnosti ali elementu seznama za izboljšanje berljivosti.
Razmik: Dosledni razmiki se dodajo okoli dvopičij in vejic.
Na primer, ta minificirani JSON:
1{"ime":"Janez Novak","starost":30,"naslov":{"ulica":"123 Glavna ulica","mesto":"Kakšno mesto","država":"CA"},"hobi":["branje","planinarjenje","fotografija"]}
2
Postane ta oblikovani JSON:
1{
2 "ime": "Janez Novak",
3 "starost": 30,
4 "naslov": {
5 "ulica": "123 Glavna ulica",
6 "mesto": "Kakšno mesto",
7 "država": "CA"
8 },
9 "hobi": [
10 "branje",
11 "planinarjenje",
12 "fotografija"
13 ]
14}
15
Naš oblikovalnik uporablja standardno zamikanje 2 presledkov na raven, kar je običajna konvencija v razvojnem okolju in zagotavlja dobro ravnotežje med kompaktnostjo in berljivostjo.
Kritičen vidik oblikovanja JSON je veljavnost. Preden se JSON lahko oblikuje, mora biti sintaktično veljaven v skladu s specifikacijo JSON. Pogoste napake pri veljavnosti vključujejo:
Sintaktične napake:
Napake pri podatkovnih tipih:
nedoločeno
ali NaN
Ko naletite na neveljaven JSON, lahko sporočilo o napaki pomaga identificirati težavo. Večina parserjev JSON bo označila mesto, kjer je prišlo do napake pri analizi, kar lahko pomaga pri iskanju težave. Naš pripomoček zagotavlja jasna sporočila o napakah, da vam pomaga identificirati in odpraviti težave v vaših podatkih JSON.
Oblikovanje JSON je dragoceno v številnih scenarijih:
Ko delate z RESTful API-ji, oblikovan JSON olajša:
Mnoga moderna podjetja uporabljajo JSON za konfiguracijo:
Oblikovan JSON pomaga, ko:
Pravilno oblikovan JSON je bistvenega pomena, ko:
Jasno oblikovanje JSON je dragoceno za:
Medtem ko je naš spletni pripomoček za oblikovanje JSON priročen za hitre naloge oblikovanja, obstaja več alternativ za različne scenarije:
Sodobni brskalniki vključujejo zmožnosti oblikovanja JSON:
Večina razvojnih okolij ponuja oblikovanje JSON:
Za uporabnike terminalov ali avtomatizacijo:
jq
je zmogljiv obdelovalnik JSON v ukazni vrsticijson_pp
je prednameščen na mnogih Unix sistemihpython -m json.tool
zagotavlja hitro oblikovanje z uporabo PythonaKo oblikujete JSON znotraj aplikacij:
1// JavaScript
2const formatted = JSON.stringify(jsonObject, null, 2);
3
1# Python
2import json
3formatted = json.dumps(json_object, indent=2)
4
1// Java z 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 je ustvaril Douglas Crockford v zgodnjih 2000-ih kot lažjo alternativo XML-u. Format je izhajal iz sintakse objektnih literala JavaScript, vendar je bil zasnovan tako, da je neodvisen od jezika. Leta 2006 je bil JSON formalno specificiran v RFC 4627 in hitro je pridobil priljubljenost zaradi svoje preprostosti in združljivosti z JavaScriptom.
Pred JSON-om je bil XML prevladujoč format za izmenjavo podatkov, vendar je bila njegova obsežnost in kompleksnost neprijetna za mnoge aplikacije. JSON je ponudil bolj jedrnato sintakso, ki je bila lažja za branje in pisanje, tako za ljudi kot za stroje. Prav tako se je popolnoma ujemal z objektno strukturo JavaScript, kar ga je naredilo naravno izbiro za spletne aplikacije.
Sprejem JSON-a se je pospešil z vzponom AJAX-a in RESTful API-jev v sredini 2000-ih. Do 2010-ih je postal de facto standard za spletne API-je, datoteke za konfiguracijo in shranjevanje podatkov v NoSQL podatkovnih bazah, kot sta MongoDB in CouchDB.
Danes JSON podpira praktično vsak programerski jezik in se uporablja v neštetih aplikacijah po spletu. Njegova preprostost, prilagodljivost in univerzalna podpora so ga naredile za enega najpomembnejših formatov podatkov v sodobnem računalništvu.
Tukaj so primeri, kako oblikovati JSON v različnih programskih jezikih:
1// JavaScript JSON oblikovanje
2function formatJSON(jsonString) {
3 try {
4 const parsedData = JSON.parse(jsonString);
5 return JSON.stringify(parsedData, null, 2);
6 } catch (error) {
7 return `Napaka: ${error.message}`;
8 }
9}
10
11// Primer uporabe
12const rawJSON = '{"ime":"Janez","starost":30,"mesto":"New York"}';
13console.log(formatJSON(rawJSON));
14
1# Python JSON oblikovanje
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"Napaka: {str(e)}"
10
11# Primer uporabe
12raw_json = '{"ime":"Janez","starost":30,"mesto":"New York"}'
13print(format_json(raw_json))
14
1// Java JSON oblikovanje z 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 "Napaka: " + e.getMessage();
14 }
15 }
16
17 public static void main(String[] args) {
18 String rawJSON = "{\"ime\":\"Janez\",\"starost\":30,\"mesto\":\"New York\"}";
19 System.out.println(formatJSON(rawJSON));
20 }
21}
22
1// PHP JSON oblikovanje
2function formatJSON($jsonString) {
3 $result = json_decode($jsonString);
4 if (json_last_error() !== JSON_ERROR_NONE) {
5 return "Napaka: " . json_last_error_msg();
6 }
7 return json_encode($result, JSON_PRETTY_PRINT);
8}
9
10// Primer uporabe
11$rawJSON = '{"ime":"Janez","starost":30,"mesto":"New York"}';
12echo formatJSON($rawJSON);
13
1# Ruby JSON oblikovanje
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 "Napaka: #{e.message}"
10 end
11end
12
13# Primer uporabe
14raw_json = '{"ime":"Janez","starost":30,"mesto":"New York"}'
15puts format_json(raw_json)
16
1// C# JSON oblikovanje z 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 $"Napaka: {e.Message}";
17 }
18 }
19
20 static void Main()
21 {
22 string rawJSON = "{\"ime\":\"Janez\",\"starost\":30,\"mesto\":\"New York\"}";
23 Console.WriteLine(FormatJSON(rawJSON));
24 }
25}
26
1// Go JSON oblikovanje
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("Napaka: %s", err.Error())
14 }
15
16 formattedBytes, err := json.MarshalIndent(parsedData, "", " ")
17 if err != nil {
18 return fmt.Sprintf("Napaka: %s", err.Error())
19 }
20
21 return string(formattedBytes)
22}
23
24func main() {
25 rawJSON := `{"ime":"Janez","starost":30,"mesto":"New York"}`
26 fmt.Println(formatJSON(rawJSON))
27}
28
Ko delate z oblikovanjem JSON, bodite pozorni na te potencialne izzive:
Zelo velike JSON datoteke (več megabajtov ali več) lahko povzročijo težave s hitrostjo v orodjih za oblikovanje v brskalniku. Za take primere:
jq
Zelo gnezdeni JSON (več kot 10-20 ravni globoko) lahko postane težko navigirati, tudi ko je oblikovan. V teh primerih:
JSON podpira Unicode, vendar lahko nekatera orodja za oblikovanje naletijo na težave z določenimi znaki:
JSON ne določa natančnosti za števila, kar lahko povzroči težave z zelo velikimi celimi številkami ali decimalnimi vrednostmi:
Veljavna JSON vključuje prazne objekte {}
in sezname []
, ki jih je treba pravilno oblikovati:
{}
[]
Odkrijte več orodij, ki bi lahko bila koristna za vaš delovni proces