Formázza és szépítse meg JSON adatait a megfelelő behúzással. Az alap JSON-t olvashatóvá teszi szintaxis kiemeléssel és validálással.
Formázza és szépítse meg a JSON-t ezzel az egyszerű eszközzel
A formázott JSON itt fog megjelenni...
A JSON (JavaScript Object Notation) egy könnyű adatcsere-formátum, amely a webalkalmazások adatcseréjének szabványává vált. Egyszerűsége ellenére a JSON adatok nehezen olvashatóvá válhatnak, ha tömörítve vagy megfelelő formázás nélkül jelenítik meg. Ez az eszköz segít átalakítani a nyers, formázatlan JSON karakterláncokat jól strukturált, behúzott formátumba, amely sokkal könnyebben olvasható és elemezhető.
A JSON formázás (más néven "szép nyomtatás") következetes behúzást, sortöréseket és térközöket ad hozzá, hogy vizuálisan megjelenítse a JSON adatok hierarchikus szerkezetét. Ez különösen értékes, amikor összetett, beágyazott objektumokkal vagy nagy adathalmazokkal dolgozunk, ahol az elemek közötti kapcsolatok máskülönben nehezen észlelhetők.
JSON formázó eszközünk egyszerű felületet biztosít a JSON adatok szépítése érdekében, megfelelő behúzással és struktúrával, így az emberi olvasás számára könnyebben érthető, miközben érvényes marad a gépek számára.
A JSON két alapvető struktúrára épül:
{}
ölelnek körül. Minden név után kettőspont :
következik, a párokat pedig vesszők ,
választják el.1 {"name": "John", "age": 30, "city": "New York"}
2
[]
ölelnek körül. Az értékeket vesszők ,
választják el.1 ["apple", "banana", "cherry"]
2
A JSON értékek lehetnek:
"Hello World"
42
vagy 3.14159
true
vagy false
null
{"key": "value"}
[1, 2, 3]
A megfelelő JSON-nak követnie kell ezeket a szintaxis szabályokat:
A leggyakoribb szintaxis hibák közé tartoznak:
A JSON formázás tömör, minifikált JSON-t alakít át egy olvashatóbb formába az alábbiak szerint:
Elemzés: A JSON karakterláncot először elemezni kell, hogy biztosítsuk annak érvényességét és létrehozzuk az adatszerkezet memóriabeli reprezentációját.
Behúzás: Minden beágyazott objektum és tömb szintje behúzva van (tipikusan 2 vagy 4 szóköz) a hierarchia vizuális megjelenítése érdekében.
Sortörések: Új sorokat adunk hozzá minden tulajdonság vagy tömbelem után a jobb olvashatóság érdekében.
Térközök: Következetes térközöket adunk hozzá a kettőspontok és vesszők körül.
Például ez a minifikált JSON:
1{"name":"John Doe","age":30,"address":{"street":"123 Main St","city":"Anytown","state":"CA"},"hobbies":["reading","hiking","photography"]}
2
Így néz ki a formázott 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
Eszközünk 2 szóközös behúzást használ minden szinthez, ami egy gyakori konvenció a fejlesztői közösségben, és jó egyensúlyt biztosít a tömörség és az olvashatóság között.
A JSON formázás kritikus aspektusa az érvényesítés. Mielőtt a JSON formázható lenne, szintaktikailag érvényesnek kell lennie a JSON specifikáció szerint. A leggyakoribb érvényesítési hibák közé tartoznak:
Szintaxis Hibák:
Adattípus Hibák:
undefined
vagy NaN
használataHa érvénytelen JSON-t tapasztal, a hibaüzenet segíthet azonosítani a problémát. A legtöbb JSON elemző megmutatja a helyet, ahol a feldolgozás meghiúsult, ami segíthet a probléma megtalálásában. Eszközünk világos hibaüzeneteket biztosít, hogy segítsen azonosítani és kijavítani a JSON adatokban lévő problémákat.
A JSON formázás számos forgatókönyvben hasznos:
RESTful API-k esetén a formázott JSON megkönnyíti:
Sok modern alkalmazás JSON-t használ konfigurációhoz:
A formázott JSON segít, amikor:
A megfelelően formázott JSON elengedhetetlen, amikor:
A világos JSON formázás értékes az alábbiakhoz:
Bár webalapú JSON formázónk kényelmes a gyors formázási feladatokhoz, számos alternatíva létezik különböző forgatókönyvekhez:
A modern böngészők JSON formázási képességeket tartalmaznak:
A legtöbb fejlesztési környezet kínál JSON formázást:
Terminálhasználók vagy automatizálás esetén:
jq
egy hatékony parancssori JSON feldolgozójson_pp
sok Unix rendszeren előre telepítve vanpython -m json.tool
gyors formázást biztosít Python használatávalAmikor a JSON formázását alkalmazásokon belül végezzük:
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-nal
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
A JSON-t Douglas Crockford hozta létre a 2000-es évek elején, mint a XML könnyű alternatíváját. A formátum a JavaScript objektumliterál szintaxisából származik, de nyelvfüggetlennek lett tervezve. 2006-ban a JSON-t hivatalosan specifikálták az RFC 4627-ben, és gyorsan népszerűvé vált egyszerűsége és a JavaScript-tel való kompatibilitása miatt.
A JSON előtt az XML volt a domináló formátum az adatcserében, de terjedelme és összetettsége miatt sok alkalmazás számára nehézkes volt. A JSON egy tömörebb szintaxist kínált, amelyet könnyebb volt olvasni és írni, mind az emberek, mind a gépek számára. Továbbá tökéletesen illeszkedett a JavaScript objektummodelljéhez, ami természetes választássá tette a webalkalmazások számára.
A JSON elfogadása felgyorsult az AJAX és a RESTful API-k megjelenésével a 2000-es évek közepén. A 2010-es évekre a JSON a webes API-k, konfigurációs fájlok és NoSQL adatbázisok, mint a MongoDB és CouchDB de facto szabványává vált.
Ma a JSON-t gyakorlatilag minden programozási nyelv támogatja, és számtalan alkalmazásban használják a weben. Egyszerűsége, rugalmassága és univerzális támogatása tette az egyik legfontosabb adatformátummá a modern számítástechnikában.
Íme példák arra, hogyan lehet JSON-t formázni különböző programozási nyelvekben:
1// JavaScript JSON formázás
2function formatJSON(jsonString) {
3 try {
4 const parsedData = JSON.parse(jsonString);
5 return JSON.stringify(parsedData, null, 2);
6 } catch (error) {
7 return `Hiba: ${error.message}`;
8 }
9}
10
11// Példa használat
12const rawJSON = '{"name":"John","age":30,"city":"New York"}';
13console.log(formatJSON(rawJSON));
14
1# Python JSON formázás
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"Hiba: {str(e)}"
10
11# Példa használat
12raw_json = '{"name":"John","age":30,"city":"New York"}'
13print(format_json(raw_json))
14
1// Java JSON formázás Gson-nal
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 "Hiba: " + 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 formázás
2function formatJSON($jsonString) {
3 $result = json_decode($jsonString);
4 if (json_last_error() !== JSON_ERROR_NONE) {
5 return "Hiba: " . json_last_error_msg();
6 }
7 return json_encode($result, JSON_PRETTY_PRINT);
8}
9
10// Példa használat
11$rawJSON = '{"name":"John","age":30,"city":"New York"}';
12echo formatJSON($rawJSON);
13
1# Ruby JSON formázás
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 "Hiba: #{e.message}"
10 end
11end
12
13# Példa használat
14raw_json = '{"name":"John","age":30,"city":"New York"}'
15puts format_json(raw_json)
16
1// C# JSON formázás Newtonsoft.Json-nal
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 $"Hiba: {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 formázás
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("Hiba: %s", err.Error())
14 }
15
16 formattedBytes, err := json.MarshalIndent(parsedData, "", " ")
17 if err != nil {
18 return fmt.Sprintf("Hiba: %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
A JSON formázásakor figyelembe kell venni ezeket a potenciális kihívásokat:
Nagyon nagy JSON fájlok (több megabájt vagy annál nagyobb) teljesítményproblémákat okozhatnak böngésző-alapú formázókban. Ilyen esetekben:
jq
használatátA rendkívül beágyazott JSON (több mint 10-20 szint mély) még formázva is nehezen navigálható. Ezekben az esetekben:
A JSON támogatja az Unicode-ot, de néhány formázó problémát okozhat bizonyos karakterekkel:
A JSON nem határozza meg a számok pontosságát, ami problémákat okozhat nagyon nagy egész számok vagy lebegőpontos értékek esetén:
A érvényes JSON tartalmaz üres objektumokat {}
és tömböket []
, amelyeket megfelelően kell formázni:
{}
-nak kell megjelenniük[]
-nak kell megjelenniükFedezzen fel több olyan eszközt, amely hasznos lehet a munkafolyamatához