Muotoile ja kaunista JSON-tietosi oikealla sisennöinnillä. Tekee raakamuotoisen JSONin luettavaksi syntaksin korostuksella ja validoinnilla.
Muotoile ja kaunista JSONisi tällä yksinkertaisella työkalulla
Muotoiltu JSON ilmestyy tänne...
JSON (JavaScript Object Notation) on kevyt tiedonvaihtoformaatti, josta on tullut standardi tiedonvaihdossa verkkosovelluksissa. Huolimatta yksinkertaisuudestaan, JSON-data voi olla vaikeaa lukea, kun se on minimisoitu tai puuttuu asianmukainen muotoilu. Tämä työkalu auttaa sinua muuntamaan raakamuotoiset, muotoilematon JSON-merkkijonot hyvin rakenteiseen, sisennettyyn muotoon, joka on paljon helpompi lukea ja analysoida.
JSON-muotoilu (tunnetaan myös nimellä "kauniisti tulostaminen") lisää johdonmukaista sisennystä, rivinvaihtoja ja väliä, jotta JSON-datan hierarkkinen rakenne näkyy selvästi. Tämä on erityisen arvokasta työskenneltäessä monimutkaisten sisäkkäisten objektien tai suurten tietojoukkojen kanssa, joissa elementtien väliset suhteet voivat muuten olla vaikeita havaita.
JSON-muotoilutyökalumme tarjoaa yksinkertaisen käyttöliittymän, jolla voit kaunistaa JSON-datasi asianmukaisella sisennyksellä ja rakenteella, mikä tekee siitä helpommin luettavaa ihmisille samalla, kun se säilyttää voimassaolonsa koneille.
JSON perustuu kahteen päärakenteeseen:
{}
. Jokaisen nimen jälkeen on kaksoispiste :
ja parit on erotettu pilkuilla ,
.1 {"name": "John", "age": 30, "city": "New York"}
2
[]
. Arvot on erotettu pilkuilla ,
.1 ["apple", "banana", "cherry"]
2
JSON-arvot voivat olla:
"Hello World"
42
tai 3.14159
true
tai false
null
{"key": "value"}
[1, 2, 3]
Oikean JSON:n on noudatettava näitä syntaksisääntöjä:
Yleisimmät syntaksivirheet sisältävät:
JSON-muotoilu muuntaa tiiviin, minimisoidun JSON:n helpommin luettavaksi muodoksi seuraavien vaiheiden avulla:
Jäsentäminen: JSON-merkkijono jäsennetään ensin varmistaakseen, että se on voimassa ja luodakseen muistissa olevan esityksen tietorakenteesta.
Sisennys: Jokainen sisäkkäinen objekti- ja taulurakenne on sisennetty (yleensä 2 tai 4 välilyöntiä) visuaalisen hierarkian esittämiseksi.
Rivinvaihdot: Uudet rivit lisätään jokaisen ominaisuuden tai taulukon elementin jälkeen luettavuuden parantamiseksi.
Väli: Johdonmukaiset välin lisäykset kaksoispisteiden ja pilkkujen ympärille.
Esimerkiksi tämä minimisoitu JSON:
1{"name":"John Doe","age":30,"address":{"street":"123 Main St","city":"Anytown","state":"CA"},"hobbies":["reading","hiking","photography"]}
2
Muuttuu seuraavaksi muotoilluksi JSON:ksi:
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
Muotoilutyökalumme käyttää standardia sisennystä, joka on 2 välilyöntiä tasoa kohti, mikä on yleinen käytäntö kehittäjäyhteisössä ja tarjoaa hyvän tasapainon tiiviyden ja luettavuuden välillä.
JSON-muotoilun kriittinen osa on validointi. Ennen kuin JSON voidaan muotoilla, sen on oltava syntaktisesti voimassa JSON-eritelmän mukaan. Yleisimmät validointivirheet sisältävät:
Syntaksivirheet:
Tietotyyppivirheet:
undefined
tai NaN
, käyttöKun kohtaat virheellistä JSON:ia, virheilmoitus voi auttaa tunnistamaan ongelman. Useimmat JSON-jäsentimet ilmoittavat paikan, jossa jäsentäminen epäonnistui, mikä voi auttaa ongelman paikantamisessa. Työkalumme tarjoaa selkeitä virheilmoituksia, jotka auttavat sinua tunnistamaan ja korjaamaan ongelmat JSON-datassasi.
JSON-muotoilu on arvokasta monissa skenaarioissa:
Työskennellessäsi RESTful-API:en kanssa muotoiltu JSON helpottaa:
Monet modernit sovellukset käyttävät JSON:ia konfiguraatioon:
Muotoiltu JSON auttaa, kun:
Asianmukaisesti muotoiltu JSON on välttämätöntä, kun:
Selkeä JSON-muotoilu on arvokasta:
Vaikka verkkopohjainen JSON-muotoilutyökalumme on kätevä nopeisiin muotoilutehtäviin, useita vaihtoehtoja on olemassa eri skenaarioita varten:
Modernit selaimet sisältävät JSON-muotoilutoimintoja:
Useimmat kehitysympäristöt tarjoavat JSON-muotoilua:
Terminaalikäyttäjille tai automaatioon:
jq
on tehokas komentorivipohjainen JSON-prosessorijson_pp
on esiasennettu monille Unix-järjestelmillepython -m json.tool
tarjoaa nopean muotoilun PythonillaKun muotoilet JSON:ia sovelluksissa:
1// JavaScript
2const formatted = JSON.stringify(jsonObject, null, 2);
3
1# Python
2import json
3formatted = json.dumps(json_object, indent=2)
4
1// Java Gsonilla
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 luotiin Douglas Crockfordin toimesta 2000-luvun alussa kevyenä vaihtoehtona XML:lle. Muoto perustui JavaScriptin objektin kirjaimelliseen syntaksiin, mutta se suunniteltiin kieliriippumattomaksi. Vuonna 2006 JSON määriteltiin virallisesti RFC 4627:ssä, ja se sai nopeasti suosiota yksinkertaisuutensa ja yhteensopivuutensa vuoksi JavaScriptin kanssa.
Ennen JSON:ia XML oli hallitseva tiedonvaihtoformaatti, mutta sen äärettömyys ja monimutkaisuus tekivät siitä vaivalloista monille sovelluksille. JSON tarjosi tiiviimmän syntaksin, joka oli helpompi lukea ja kirjoittaa, sekä ihmisille että koneille. Se myös sopi täydellisesti JavaScriptin objektimalliin, mikä teki siitä luonnollisen valinnan verkkosovelluksille.
JSON:n käyttö lisääntyi AJAX:in ja RESTful-API:en nousun myötä 2000-luvun puolivälissä. 2010-luvulle mennessä siitä oli tullut de facto -standardi verkkosovellusten, konfiguraatiotiedostojen ja NoSQL-tietokantojen, kuten MongoDB ja CouchDB, tiedonvaihdossa.
Nykyään JSON:ia tukee käytännössä jokainen ohjelmointikieli, ja sitä käytetään lukemattomissa sovelluksissa verkossa. Sen yksinkertaisuus, joustavuus ja yleinen tuki ovat tehneet siitä yhden tärkeimmistä tietomuodoista nykyaikaisessa tietojenkäsittelyssä.
Tässä on esimerkkejä siitä, kuinka muotoilla JSON eri ohjelmointikielillä:
1// JavaScript JSON-muotoilu
2function formatJSON(jsonString) {
3 try {
4 const parsedData = JSON.parse(jsonString);
5 return JSON.stringify(parsedData, null, 2);
6 } catch (error) {
7 return `Virhe: ${error.message}`;
8 }
9}
10
11// Esimerkkikäyttö
12const rawJSON = '{"name":"John","age":30,"city":"New York"}';
13console.log(formatJSON(rawJSON));
14
1# Python JSON-muotoilu
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"Virhe: {str(e)}"
10
11# Esimerkkikäyttö
12raw_json = '{"name":"John","age":30,"city":"New York"}'
13print(format_json(raw_json))
14
1// Java JSON-muotoilu Gsonilla
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 "Virhe: " + 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-muotoilu
2function formatJSON($jsonString) {
3 $result = json_decode($jsonString);
4 if (json_last_error() !== JSON_ERROR_NONE) {
5 return "Virhe: " . json_last_error_msg();
6 }
7 return json_encode($result, JSON_PRETTY_PRINT);
8}
9
10// Esimerkkikäyttö
11$rawJSON = '{"name":"John","age":30,"city":"New York"}';
12echo formatJSON($rawJSON);
13
1# Ruby JSON-muotoilu
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 "Virhe: #{e.message}"
10 end
11end
12
13# Esimerkkikäyttö
14raw_json = '{"name":"John","age":30,"city":"New York"}'
15puts format_json(raw_json)
16
1// C# JSON-muotoilu Newtonsoft.Jsonilla
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 $"Virhe: {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-muotoilu
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("Virhe: %s", err.Error())
14 }
15
16 formattedBytes, err := json.MarshalIndent(parsedData, "", " ")
17 if err != nil {
18 return fmt.Sprintf("Virhe: %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
Kun työskentelet JSON-muotoilun parissa, ole tietoinen näistä mahdollisista haasteista:
Erittäin suuret JSON-tiedostot (useita megatavuja tai enemmän) voivat aiheuttaa suorituskykyongelmia selainpohjaisissa muotoilutyökaluissa. Tällaisissa tapauksissa:
jq
, käyttöäÄärimmäisen syvästi sisäkkäinen JSON (yli 10-20 tason syvyys) voi olla vaikeaa navigoida, vaikka se olisi muotoiltu. Tällaisissa tapauksissa:
JSON tukee Unicodea, mutta jotkut muotoilutyökalut voivat kohdata ongelmia tiettyjen merkkien kanssa:
JSON ei määrittele tarkkuutta numeroille, mikä voi johtaa ongelmiin erittäin suurten kokonaislukujen tai liukulukuisten arvojen kanssa:
Voimassa oleva JSON sisältää tyhjät objektit {}
ja taulukot []
, jotka on muotoiltava oikein:
{}
[]
Löydä lisää työkaluja, jotka saattavat olla hyödyllisiä työnkulullesi