Formater og pænt print dine JSON-data med korrekt indrykning. Gør rå JSON læselig med syntaksfremhævning og validering.
Formater og beautify din JSON med dette enkle værktøj
Formateret JSON vises her...
JSON (JavaScript Object Notation) er et letvægts dataudvekslingsformat, der er blevet standarden for dataudveksling i webapplikationer. På trods af sin enkelhed kan JSON-data blive svære at læse, når det er minificeret eller mangler ordentlig formatering. Dette værktøj hjælper dig med at transformere rå, uformaterede JSON-strenge til et velstruktureret, indrykket format, der er meget lettere at læse og analysere.
JSON-formatering (også kendt som "pretty printing") tilføjer konsekvent indrykning, linjeskift og mellemrum for at gøre den hierarkiske struktur af JSON-data visuelt tydelig. Dette er særligt værdifuldt, når man arbejder med komplekse indlejrede objekter eller store datasæt, hvor forholdet mellem elementer ellers kan være svært at skelne.
Vores JSON-formateringsværktøj giver en simpel grænseflade til at forskønne dine JSON-data med korrekt indrykning og struktur, hvilket gør det mere læsbart for mennesker, samtidig med at det opretholder sin gyldighed for maskiner.
JSON er bygget på to primære strukturer:
{}
. Hvert navn efterfølges af et kolon :
og par adskilles af kommaer ,
.1 {"name": "John", "age": 30, "city": "New York"}
2
[]
. Værdier adskilles af kommaer ,
.1 ["apple", "banana", "cherry"]
2
JSON-værdier kan være:
"Hello World"
42
eller 3.14159
true
eller false
null
{"key": "value"}
[1, 2, 3]
Korrekt JSON skal følge disse syntaksregler:
Almindelige syntaksfejl inkluderer:
JSON-formatering transformerer kompakt, minificeret JSON til en mere læsbar form ved at:
Parsing: JSON-strengen parses først for at sikre, at den er gyldig, og for at oprette en in-memory repræsentation af datastrukturen.
Indrykning: Hvert indlejret niveau af objekter og arrays indrykkes (typisk med 2 eller 4 mellemrum) for visuelt at repræsentere hierarkiet.
Linjeskift: Nye linjer tilføjes efter hver egenskab eller array-element for at forbedre læsbarheden.
Mellemrum: Konsistent mellemrum tilføjes omkring koloner og kommaer.
For eksempel, denne minificerede JSON:
1{"name":"John Doe","age":30,"address":{"street":"123 Main St","city":"Anytown","state":"CA"},"hobbies":["reading","hiking","photography"]}
2
Bliver denne formaterede 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
Vores formatter bruger en standardindrykning på 2 mellemrum pr. niveau, hvilket er en almindelig konvention i udviklingssamfundet og giver en god balance mellem kompakthed og læsbarhed.
Et kritisk aspekt af JSON-formatering er validering. Før JSON kan formateres, skal det være syntaktisk gyldigt i henhold til JSON-specifikationen. Almindelige valideringsfejl inkluderer:
Syntaksfejl:
Datatyperfejl:
undefined
eller NaN
Når du støder på ugyldig JSON, kan fejlmeddelelsen hjælpe med at identificere problemet. De fleste JSON-parsere vil angive den position, hvor parsing mislykkedes, hvilket kan hjælpe med at lokalisere problemet. Vores værktøj giver klare fejlmeddelelser for at hjælpe dig med at identificere og rette problemer i dine JSON-data.
JSON-formatering er værdifuld i adskillige scenarier:
Når du arbejder med RESTful API'er, gør formateret JSON det lettere at:
Mange moderne applikationer bruger JSON til konfiguration:
Formateret JSON hjælper når:
Korrekt formateret JSON er afgørende, når:
Klar JSON-formatering er værdifuld for:
Mens vores webbaserede JSON-formateringsværktøj er praktisk til hurtige formateringsopgaver, findes der flere alternativer til forskellige scenarier:
Moderne browsere inkluderer JSON-formateringsmuligheder:
De fleste udviklingsmiljøer tilbyder JSON-formatering:
For terminalbrugere eller automatisering:
jq
er en kraftfuld kommandolinje JSON-behandlerjson_pp
følger med på mange Unix-systemerpython -m json.tool
giver hurtig formatering ved hjælp af PythonNår du formaterer JSON inden for applikationer:
1// JavaScript
2const formatted = JSON.stringify(jsonObject, null, 2);
3
1# Python
2import json
3formatted = json.dumps(json_object, indent=2)
4
1// Java med 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 blev skabt af Douglas Crockford i begyndelsen af 2000'erne som et letvægtsalternativ til XML. Formatet blev afledt fra JavaScript-objektliteral syntaks, men designet til at være sprog-uafhængigt. I 2006 blev JSON formelt specificeret i RFC 4627, og det fik hurtigt popularitet på grund af sin enkelhed og kompatibilitet med JavaScript.
Før JSON var XML det dominerende format for dataudveksling, men dens verbositet og kompleksitet gjorde det besværligt for mange applikationer. JSON tilbød en mere kompakt syntaks, der var lettere at læse og skrive, både for mennesker og maskiner. Det matchede også perfekt med JavaScripts objektmodel, hvilket gjorde det til det naturlige valg for webapplikationer.
JSON's vedtagelse accelererede med stigningen af AJAX og RESTful API'er i midten af 2000'erne. I 2010'erne var det blevet den de facto standard for web-API'er, konfigurationsfiler og datalagring i NoSQL-databaser som MongoDB og CouchDB.
I dag understøttes JSON af næsten alle programmeringssprog og bruges i utallige applikationer på tværs af internettet. Dets enkelhed, fleksibilitet og universelle support har gjort det til et af de vigtigste dataformater i moderne computing.
Her er eksempler på, hvordan man formaterer JSON i forskellige programmeringssprog:
1// JavaScript JSON-formatering
2function formatJSON(jsonString) {
3 try {
4 const parsedData = JSON.parse(jsonString);
5 return JSON.stringify(parsedData, null, 2);
6 } catch (error) {
7 return `Fejl: ${error.message}`;
8 }
9}
10
11// Eksempel på brug
12const rawJSON = '{"name":"John","age":30,"city":"New York"}';
13console.log(formatJSON(rawJSON));
14
1# Python JSON-formatering
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"Fejl: {str(e)}"
10
11# Eksempel på brug
12raw_json = '{"name":"John","age":30,"city":"New York"}'
13print(format_json(raw_json))
14
1// Java JSON-formatering med 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 "Fejl: " + 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-formatering
2function formatJSON($jsonString) {
3 $result = json_decode($jsonString);
4 if (json_last_error() !== JSON_ERROR_NONE) {
5 return "Fejl: " . json_last_error_msg();
6 }
7 return json_encode($result, JSON_PRETTY_PRINT);
8}
9
10// Eksempel på brug
11$rawJSON = '{"name":"John","age":30,"city":"New York"}';
12echo formatJSON($rawJSON);
13
1# Ruby JSON-formatering
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 "Fejl: #{e.message}"
10 end
11end
12
13# Eksempel på brug
14raw_json = '{"name":"John","age":30,"city":"New York"}'
15puts format_json(raw_json)
16
1// C# JSON-formatering med 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 $"Fejl: {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-formatering
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("Fejl: %s", err.Error())
14 }
15
16 formattedBytes, err := json.MarshalIndent(parsedData, "", " ")
17 if err != nil {
18 return fmt.Sprintf("Fejl: %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
Når du arbejder med JSON-formatering, skal du være opmærksom på disse potentielle udfordringer:
Meget store JSON-filer (flere megabyte eller mere) kan forårsage ydeevneproblemer i browserbaserede formateringsværktøjer. I sådanne tilfælde:
jq
Ekstremt indlejret JSON (mere end 10-20 niveauer dybt) kan blive svært at navigere, selv når det er formateret. I disse tilfælde:
JSON understøtter Unicode, men nogle formateringsværktøjer kan have problemer med visse tegn:
JSON specificerer ikke præcision for tal, hvilket kan føre til problemer med meget store heltal eller flydende værdier:
Gyldig JSON inkluderer tomme objekter {}
og arrays []
, som skal formateres korrekt:
{}
[]
Opdag flere værktøjer, der måske kan være nyttige for din arbejdsgang.