Formatējiet un uzlabojiet savu JSON datus ar pareizu atkāpi. Padara neapstrādātu JSON lasāmu ar sintakses izcelšanu un validāciju.
Formatējiet un uzlabojiet savu JSON ar šo vienkāršo rīku
Formatēta JSON parādīsies šeit...
JSON (JavaScript Object Notation) ir viegls datu apmaiņas formāts, kas kļuvis par standartu datu apmaiņai tīmekļa lietojumprogrammās. Neskatoties uz tā vienkāršību, JSON dati var kļūt grūti lasāmi, ja tie ir minificēti vai tiem trūkst pareizas formatēšanas. Šis rīks palīdz jums pārvērst neformatētus, neapstrādātus JSON virknes labi strukturētā, iepriekš formatētā formātā, kas ir daudz vieglāk lasāms un analizējams.
JSON formatēšana (tā sauktā "skaistā drukāšana") pievieno konsekventu iedobumu, rindu pārtraukumus un atstarpes, lai vizuāli attēlotu JSON datu hierarhisko struktūru. Tas ir īpaši vērtīgi, strādājot ar sarežģītām ligzdotām objektiem vai lieliem datu kopām, kur attiecības starp elementiem citādi varētu būt grūti saskatāmas.
Mūsu JSON formatētāja rīks nodrošina vienkāršu saskarni, lai uzlabotu jūsu JSON datus ar pareizu iedobumu un struktūru, padarot tos lasāmākus cilvēkiem, vienlaikus saglabājot to derīgumu mašīnām.
JSON ir balstīts uz divām galvenajām struktūrām:
{}
. Katram nosaukumam seko kolons :
un pāri ir atdalīti ar komatiem ,
.1 {"name": "John", "age": 30, "city": "New York"}
2
[]
. Vērtības ir atdalītas ar komatiem ,
.1 ["apple", "banana", "cherry"]
2
JSON vērtības var būt:
"Hello World"
42
vai 3.14159
true
vai false
null
{"key": "value"}
[1, 2, 3]
Pareizam JSON jāievēro šie sintakses noteikumi:
Biežākās sintakses kļūdas ietver:
JSON formatēšana pārvērš kompakto, minificēto JSON par viegli lasāmu formu, veicot:
Parsēšanu: JSON virkne vispirms tiek parsēta, lai nodrošinātu, ka tā ir derīga, un izveidotu datu struktūras atmiņas attēlojumu.
Iedobumu: Katram ligzdotajam objektam un masīvam tiek pievienots iedobums (parasti 2 vai 4 atstarpes), lai vizuāli attēlotu hierarhiju.
Rindu pārtraukumi: Jaunas rindas tiek pievienotas pēc katras īpašības vai masīva elementa, lai uzlabotu lasāmību.
Atstarpes: Tiek pievienotas konsekventas atstarpes ap koloniem un komatiem.
Piemēram, šis minificētais JSON:
1{"name":"John Doe","age":30,"address":{"street":"123 Main St","city":"Anytown","state":"CA"},"hobbies":["reading","hiking","photography"]}
2
Kļūst par šo formatēto 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
Mūsu formatētājs izmanto standarta iedobumu 2 atstarpes katrā līmenī, kas ir izplatīta konvencija izstrādātāju kopienā un nodrošina labu līdzsvaru starp kompaktnumu un lasāmību.
Svarīga JSON formatēšanas sastāvdaļa ir validācija. Pirms JSON var tikt formatēts, tam jābūt sintaktiski derīgam saskaņā ar JSON specifikāciju. Biežās validācijas kļūdas ietver:
Sintakses Kļūdas:
Datu Tipu Kļūdas:
undefined
vai NaN
Kad jūs sastopaties ar nederīgu JSON, kļūdas ziņojums var palīdzēt identificēt problēmu. Lielākā daļa JSON parseru norādīs pozīciju, kur parsēšana neizdevās, kas var palīdzēt atrast problēmu. Mūsu rīks nodrošina skaidras kļūdas ziņas, lai palīdzētu jums identificēt un novērst problēmas jūsu JSON datos.
JSON formatēšana ir vērtīga daudzos scenārijos:
Strādājot ar RESTful API, formatēts JSON atvieglo:
Daudzas modernas lietojumprogrammas izmanto JSON konfigurācijai:
Formatēts JSON palīdz, kad:
Pareizi formatēts JSON ir būtisks, kad:
Skaidra JSON formatēšana ir vērtīga:
Lai gan mūsu tīmekļa balstītais JSON formatētājs ir ērts ātriem formatēšanas uzdevumiem, pastāv vairākas alternatīvas dažādām situācijām:
Mūsdienu pārlūkprogrammas iekļauj JSON formatēšanas iespējas:
Lielākā daļa izstrādes vidēm piedāvā JSON formatēšanu:
Termināla lietotājiem vai automatizācijai:
jq
ir jaudīgs komandrindas JSON procesorsjson_pp
ir iepriekš instalēts daudzās Unix sistēmāspython -m json.tool
nodrošina ātru formatēšanu, izmantojot PythonKad formatējat JSON lietojumprogrammās:
1// JavaScript
2const formatted = JSON.stringify(jsonObject, null, 2);
3
1# Python
2import json
3formatted = json.dumps(json_object, indent=2)
4
1// Java ar 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 tika radīts Douglas Crockford agrīnā 2000. gadu laikā kā viegls alternatīvs formāts XML. Formāts tika iegūts no JavaScript objekta literālas sintakses, taču tika izstrādāts, lai būtu neatkarīgs no valodas. 2006. gadā JSON tika oficiāli specifizēts RFC 4627, un tas ātri ieguva popularitāti, pateicoties tā vienkāršībai un saderībai ar JavaScript.
Pirms JSON XML bija dominējošais formāts datu apmaiņai, taču tā apjomīgums un sarežģītība padarīja to apgrūtinošu daudzām lietojumprogrammām. JSON piedāvāja kodolīgāku sintaksi, kas bija vieglāk lasāma un rakstāma gan cilvēkiem, gan mašīnām. Tas arī perfekti saskanēja ar JavaScript objektu modeli, padarot to par dabiski izvēlēto risinājumu tīmekļa lietojumprogrammām.
JSON pieņemšana paātrinājās ar AJAX un RESTful API pieaugumu 2000. gadu vidū. Līdz 2010. gadiem tas bija kļuvis par de facto standartu tīmekļa API, konfigurācijas failiem un datu glabāšanai NoSQL datu bāzēs, piemēram, MongoDB un CouchDB.
Šodien JSON atbalsta praktiski katra programmēšanas valoda un to izmanto neskaitāmās lietojumprogrammās visā tīmeklī. Tās vienkāršība, elastība un universālais atbalsts ir padarījusi to par vienu no svarīgākajiem datu formātiem mūsdienu datorzinātnē.
Šeit ir piemēri, kā formatēt JSON dažādās programmēšanas valodās:
1// JavaScript JSON formatēšana
2function formatJSON(jsonString) {
3 try {
4 const parsedData = JSON.parse(jsonString);
5 return JSON.stringify(parsedData, null, 2);
6 } catch (error) {
7 return `Kļūda: ${error.message}`;
8 }
9}
10
11// Piemēra izmantošana
12const rawJSON = '{"name":"John","age":30,"city":"New York"}';
13console.log(formatJSON(rawJSON));
14
1# Python JSON formatēšana
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"Kļūda: {str(e)}"
10
11# Piemēra izmantošana
12raw_json = '{"name":"John","age":30,"city":"New York"}'
13print(format_json(raw_json))
14
1// Java JSON formatēšana ar 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 "Kļūda: " + 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 formatēšana
2function formatJSON($jsonString) {
3 $result = json_decode($jsonString);
4 if (json_last_error() !== JSON_ERROR_NONE) {
5 return "Kļūda: " . json_last_error_msg();
6 }
7 return json_encode($result, JSON_PRETTY_PRINT);
8}
9
10// Piemēra izmantošana
11$rawJSON = '{"name":"John","age":30,"city":"New York"}';
12echo formatJSON($rawJSON);
13
1# Ruby JSON formatēšana
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 "Kļūda: #{e.message}"
10 end
11end
12
13# Piemēra izmantošana
14raw_json = '{"name":"John","age":30,"city":"New York"}'
15puts format_json(raw_json)
16
1// C# JSON formatēšana ar 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 $"Kļūda: {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 formatēšana
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("Kļūda: %s", err.Error())
14 }
15
16 formattedBytes, err := json.MarshalIndent(parsedData, "", " ")
17 if err != nil {
18 return fmt.Sprintf("Kļūda: %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
Strādājot ar JSON formatēšanu, ņemiet vērā šos potenciālos izaicinājumus:
Ļoti lieli JSON faili (dažus megabaitus vai vairāk) var radīt veiktspējas problēmas pārlūkprogrammas balstītajos formatētājos. Šādās situācijās:
jq
Ļoti ligzdoti JSON (vairāk nekā 10-20 līmeņi) var kļūt grūti navigējami pat tad, ja tie ir formatēti. Šādos gadījumos:
JSON atbalsta Unicode, taču daži formatētāji var saskarties ar problēmām ar noteiktām zīmēm:
JSON nenosaka precizitāti skaitļiem, kas var radīt problēmas ar ļoti lieliem veseliem skaitļiem vai peldošā punkta vērtībām:
Derīgs JSON ietver tukšus objektus {}
un masīvus []
, kuriem jābūt pareizi formatētiem:
{}
[]
Atklājiet vairāk rīku, kas varētu būt noderīgi jūsu darbplūsmai