Форматирајте и украсите своје JSON податке са одговарајућим упадом. Чини сирови JSON читљивим са синтаксним истакнутим и валидацијом.
Formatirajte i uljepšajte svoj JSON pomoću ovog jednostavnog alata
Formatirani JSON će se ovde pojaviti...
JSON (JavaScript Object Notation) је лак формат за размену података који је постао стандард за размену података у веб апликацијама. Упркос својој једноставности, JSON подаци могу постати тешки за читање када су минификовани или недостаје им одговарајуће форматирање. Овај алат вам помаже да трансформишете сирове, неформатиране JSON низове у добро структурирани, индентовани формат који је много лакши за читање и анализу.
Форматирање JSON-а (такође познато као "лепо штампање") додаје конзистентну индентацију, преломе редова и размаке како би визуелно представило хијерархијску структуру JSON података. Ово је посебно вредно када радите са сложеним уграђеним објектима или великим скупима података где би односи између елемената иначе могли бити тешки за разликовање.
Наш JSON форматер нуди једноставан интерфејс за лепо форматирање ваших JSON података са одговарајућом индентацијом и структуром, чинећи их читљивијим за људе, док задржавају своју валидност за машине.
JSON се гради на две основне структуре:
{}
. Свако име је праћено двотачком :
и парови су одвојени запетама ,
.1 {"name": "John", "age": 30, "city": "New York"}
2
[]
. Вредности су одвојене запетама ,
.1 ["apple", "banana", "cherry"]
2
JSON вредности могу бити:
"Hello World"
42
или 3.14159
true
или false
null
{"key": "value"}
[1, 2, 3]
Прави JSON мора следити ове синтаксне правила:
Чести синтаксни грешке укључују:
JSON форматирање трансформише компактни, минификовани JSON у читљивији облик тако што:
Парсирање: JSON низ се прво парсира да би се осигурало да је валидан и да се створи репрезентација података у меморији.
Индентација: Ниво уграђених објеката и низова се индентује (обично за 2 или 4 размака) како би визуелно представио хијерархију.
Преломи редова: Нови редови се додају после сваког својства или елемента низа ради побољшања читљивости.
Размаци: Конзистентни размаци се додају око двотачки и запета.
На пример, ова минификована JSON:
1{"name":"John Doe","age":30,"address":{"street":"123 Main St","city":"Anytown","state":"CA"},"hobbies":["reading","hiking","photography"]}
2
Постаје ова форматирана 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
Наш форматер користи стандардну индентацију од 2 размака по нивоу, што је уобичајена конвенција у развојној заједници и пружа добар баланс између компактности и читљивости.
Критични аспект JSON форматирања је валидација. Пре него што JSON може бити форматиран, мора бити синтаксно валидан према JSON спецификацији. Честе грешке у валидацији укључују:
Синтаксне грешке:
Грешке у типу података:
undefined
или NaN
Када се сусретнете са невалидним JSON-ом, порука о грешци може помоћи у идентификовању проблема. Већина JSON парсера ће указати на позицију где је парсирање пропало, што може помоћи у лоцирању проблема. Наш алат пружа јасне поруке о грешкама како би вам помогао да идентификујете и исправите проблеме у вашим JSON подацима.
JSON форматирање је вредно у бројним сценаријима:
Када радите са RESTful АПИ-јима, форматиран JSON олакшава:
Многе модерне апликације користе JSON за конфигурацију:
Форматирани JSON помаже када:
Правилно форматиран JSON је неопходан када:
Јасно форматирање JSON-а је вредно за:
Док је наш веб-басирани JSON форматер згодан за брзе задатке форматирања, постоје и неколико алтернатива за различите сценарије:
Модерни прегледачи укључују способности форматирања JSON-а:
Већина развојних окружења нуди форматирање JSON-а:
За кориснике терминала или аутоматизацију:
jq
је моћан алат за обраду JSON-а из командне линијеjson_pp
долази прединсталиран на многим Unix системимаpython -m json.tool
пружа брзо форматирање користећи PythonКада форматирате JSON унутар апликација:
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
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 је створио Даглас Крокфорд у раним 2000-им као лакшу алтернативу XML-у. Формат је проистекао из синтаксе JavaScript објектних литерала, али је дизајниран да буде независан од језика. Године 2006, JSON је формално спецификован у RFC 4627, а брзо је стекао популарност због своје једноставности и компатибилности са JavaScript-ом.
Пре JSON-а, XML је био доминантан формат за размену података, али је његова обимност и сложеност учинила га непријатним за многе апликације. JSON је понудио сажетију синтаксу која је била лакша за читање и писање, како за људе, тако и за машине. Такође се савршено уклапао у модел објеката JavaScript-а, што га је учинило природним избором за веб апликације.
Усвајање JSON-а се убрзало са порастом AJAX-а и RESTful АПИ-ја у средини 2000-их. До 2010-их, постао је де факто стандард за веб АПИ-је, конфигурационе фајлове и складиштење података у NoSQL базама података као што су MongoDB и CouchDB.
Данас, JSON подржава готово сви програмски језици и користи се у безброј апликација широм веба. Његова једноставност, флексибилност и универзална подршка учинили су га једним од најважнијих формата података у модерном рачунарству.
Ево примера како форматирати JSON у различитим програмским језицима:
1// JavaScript JSON форматирање
2function formatJSON(jsonString) {
3 try {
4 const parsedData = JSON.parse(jsonString);
5 return JSON.stringify(parsedData, null, 2);
6 } catch (error) {
7 return `Грешка: ${error.message}`;
8 }
9}
10
11// Пример употребе
12const rawJSON = '{"name":"John","age":30,"city":"New York"}';
13console.log(formatJSON(rawJSON));
14
1# Python JSON форматирање
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"Грешка: {str(e)}"
10
11# Пример употребе
12raw_json = '{"name":"John","age":30,"city":"New York"}'
13print(format_json(raw_json))
14
1// Java JSON форматирање са 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 "Грешка: " + 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 форматирање
2function formatJSON($jsonString) {
3 $result = json_decode($jsonString);
4 if (json_last_error() !== JSON_ERROR_NONE) {
5 return "Грешка: " . json_last_error_msg();
6 }
7 return json_encode($result, JSON_PRETTY_PRINT);
8}
9
10// Пример употребе
11$rawJSON = '{"name":"John","age":30,"city":"New York"}';
12echo formatJSON($rawJSON);
13
1# Ruby JSON форматирање
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 "Грешка: #{e.message}"
10 end
11end
12
13# Пример употребе
14raw_json = '{"name":"John","age":30,"city":"New York"}'
15puts format_json(raw_json)
16
1// C# JSON форматирање са 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 $"Грешка: {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 форматирање
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("Грешка: %s", err.Error())
14 }
15
16 formattedBytes, err := json.MarshalIndent(parsedData, "", " ")
17 if err != nil {
18 return fmt.Sprintf("Грешка: %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-а, будите свесни ових потенцијалних изазова:
Веома велики JSON фајлови (неколико мегабајта или више) могу изазвати проблеме са перформансама у веб-базираним форматерима. За такве случајеве:
jq
Изузетно уграђени JSON (више од 10-20 нивоа дубине) може постати тешко навигирати чак и када је форматиран. У овим случајевима:
JSON подржава Unicode, али неки форматери могу имати проблема са одређеним знаковима:
JSON не спецификује прецизност за бројеве, што може довести до проблема са веома великим целим бројевима или вредностима са покретном запетом:
Валидан JSON укључује празне објекте {}
и низове []
, који би требали бити правилно форматирани:
{}
[]
Otkrijte više alata koji mogu biti korisni za vaš radni proces