JSON verinizi uygun girintilerle biçimlendirin ve güzelleştirin. Ham JSON'u sözdizimi vurgulaması ve doğrulama ile okunabilir hale getirir.
Bu basit araçla JSON'unuzu biçimlendirin ve güzelleştirin
Biçimlendirilmiş JSON burada görünecek...
JSON (JavaScript Nesne Notasyonu), web uygulamalarında veri alışverişi için standart haline gelmiş hafif bir veri değişim formatıdır. Basitliğine rağmen, JSON verileri sıkıştırıldığında veya uygun biçimlendirme eksik olduğunda okunması zor hale gelebilir. Bu araç, ham, biçimlendirilmemiş JSON dizelerini daha yapılandırılmış, girintili bir formata dönüştürmenize yardımcı olur; bu da okunmasını ve analiz edilmesini çok daha kolay hale getirir.
JSON biçimlendirme (aynı zamanda "güzel yazım" olarak da bilinir), JSON verilerinin hiyerarşik yapısını görsel olarak belirgin hale getirmek için tutarlı girintileme, satır sonları ve boşluklar ekler. Bu, karmaşık iç içe geçmiş nesneler veya büyük veri setleri ile çalışırken, öğeler arasındaki ilişkilerin aksi takdirde anlaşılması zor olabileceği durumlarda özellikle değerlidir.
JSON biçimlendirici aracımız, JSON verilerinizi uygun girintileme ve yapı ile güzelleştirmek için basit bir arayüz sunar; bu, insanlara daha okunabilir hale gelirken makineler için geçerliliğini korur.
JSON, iki temel yapı üzerine kuruludur:
{}
içinde yer alan ad/değer çiftlerinin koleksiyonları. Her ad, bir iki nokta üst üste :
ile takip edilir ve çiftler virgül ,
ile ayrılır.1 {"name": "John", "age": 30, "city": "New York"}
2
[]
içinde yer alan değerlerin sıralı listeleri. Değerler virgül ,
ile ayrılır.1 ["apple", "banana", "cherry"]
2
JSON değerleri şunlar olabilir:
"Merhaba Dünya"
42
veya 3.14159
true
veya false
null
{"anahtar": "değer"}
[1, 2, 3]
Geçerli JSON, bu söz dizimi kurallarına uymalıdır:
Yaygın söz dizimi hataları şunlardır:
JSON biçimlendirme, sıkıştırılmış, minify edilmiş JSON'u daha okunabilir bir forma dönüştürerek:
Ayrıştırma: JSON dizesi önce geçerli olduğundan emin olmak için ayrıştırılır ve veri yapısının bellekteki temsili oluşturulur.
Girintileme: Her iç içe nesne ve dizi seviyesi, hiyerarşiyi görsel olarak temsil etmek için (genellikle 2 veya 4 boşluk) girintilenir.
Satır Sonları: Her özellik veya dizi öğesinden sonra yeni satırlar eklenir.
Boşluklar: İki nokta üst üste ve virgüller etrafında tutarlı boşluklar eklenir.
Örneğin, bu minify edilmiş JSON:
1{"name":"John Doe","age":30,"address":{"street":"123 Main St","city":"Anytown","state":"CA"},"hobbies":["reading","hiking","photography"]}
2
Bu biçimlendirilmiş JSON'a dönüşür:
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
Biçimlendiricimiz, her seviye için 2 boşlukluk standart bir girintileme kullanır; bu, geliştirme topluluğunda yaygın bir gelenektir ve sıkışıklık ile okunabilirlik arasında iyi bir denge sağlar.
JSON biçimlendirme işleminin kritik bir yönü doğrulamadır. JSON biçimlendirilmeden önce, JSON spesifikasyonuna göre söz dizimsel olarak geçerli olmalıdır. Yaygın doğrulama hataları şunlardır:
Söz Dizimi Hataları:
Veri Türü Hataları:
Geçersiz JSON ile karşılaştığınızda, hata mesajı sorunu tanımlamaya yardımcı olabilir. Çoğu JSON ayrıştırıcısı, ayrıştırmanın başarısız olduğu yeri belirten bir konum gösterecektir; bu, sorunu bulmanıza yardımcı olabilir. Araçlarımız, JSON verilerinizdeki sorunları tanımlamanıza ve düzeltmenize yardımcı olmak için net hata mesajları sağlar.
JSON biçimlendirme, birçok senaryoda değerlidir:
RESTful API'lerle çalışırken, biçimlendirilmiş JSON, daha kolay hale getirir:
Birçok modern uygulama JSON'u yapılandırma için kullanır:
Biçimlendirilmiş JSON, aşağıdaki durumlarda yardımcı olur:
Uygun biçimlendirilmiş JSON, aşağıdaki durumlarda gereklidir:
Açık JSON biçimlendirme, aşağıdaki durumlar için değerlidir:
Web tabanlı JSON biçimlendiricimiz, hızlı biçimlendirme görevleri için kullanışlı olsa da, farklı senaryolar için birkaç alternatif vardır:
Modern tarayıcılar, JSON biçimlendirme yetenekleri içerir:
Çoğu geliştirme ortamı, JSON biçimlendirme sunar:
Terminal kullanıcıları veya otomasyon için:
jq
, hafif ve esnek bir komut satırı JSON işlemcisidirjson_pp
, birçok Unix sisteminde önceden yüklenmiştirpython -m json.tool
, Python kullanarak hızlı biçimlendirme sağlarUygulamalar içinde JSON biçimlendirme yaparken:
1// JavaScript
2const formatted = JSON.stringify(jsonObject, null, 2);
3
1# Python
2import json
3formatted = json.dumps(json_object, indent=2)
4
1// Java ile 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, Douglas Crockford tarafından 2000'lerin başında XML'e hafif bir alternatif olarak oluşturulmuştur. Format, JavaScript nesne literal söz diziminden türetilmiştir ancak dil bağımsız olacak şekilde tasarlanmıştır. 2006 yılında, JSON RFC 4627'de resmi olarak belirtilmiştir ve basitliği ve JavaScript ile uyumu sayesinde hızla popülerlik kazanmıştır.
JSON'dan önce, XML veri alışverişi için baskın formattı, ancak hacminin fazla olması ve karmaşıklığı birçok uygulama için zahmetli hale getirmiştir. JSON, daha okunabilir ve yazılabilir bir söz dizimi sunarak, hem insanlar hem de makineler için daha kolay hale gelmiştir. Ayrıca, JavaScript'in nesne modeline mükemmel bir şekilde uyum sağlamış ve web uygulamaları için doğal bir seçim olmuştur.
JSON'un benimsenmesi, 2000'lerin ortalarında AJAX ve RESTful API'lerin yükselişi ile hızlanmıştır. 2010'larda, web API'leri, yapılandırma dosyaları ve MongoDB ve CouchDB gibi NoSQL veritabanlarında veri depolamak için geçerli standart haline gelmiştir.
Bugün, JSON hemen hemen her programlama dili tarafından desteklenmektedir ve web üzerindeki sayısız uygulamada kullanılmaktadır. Basitliği, esnekliği ve evrensel desteği, onu modern bilgisayarlarda en önemli veri formatlarından biri haline getirmiştir.
İşte çeşitli programlama dillerinde JSON biçimlendirme ile ilgili örnekler:
1// JavaScript JSON biçimlendirme
2function formatJSON(jsonString) {
3 try {
4 const parsedData = JSON.parse(jsonString);
5 return JSON.stringify(parsedData, null, 2);
6 } catch (error) {
7 return `Hata: ${error.message}`;
8 }
9}
10
11// Örnek kullanım
12const rawJSON = '{"name":"John","age":30,"city":"New York"}';
13console.log(formatJSON(rawJSON));
14
1# Python JSON biçimlendirme
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"Hata: {str(e)}"
10
11# Örnek kullanım
12raw_json = '{"name":"John","age":30,"city":"New York"}'
13print(format_json(raw_json))
14
1// Java JSON biçimlendirme ile 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 "Hata: " + 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 biçimlendirme
2function formatJSON($jsonString) {
3 $result = json_decode($jsonString);
4 if (json_last_error() !== JSON_ERROR_NONE) {
5 return "Hata: " . json_last_error_msg();
6 }
7 return json_encode($result, JSON_PRETTY_PRINT);
8}
9
10// Örnek kullanım
11$rawJSON = '{"name":"John","age":30,"city":"New York"}';
12echo formatJSON($rawJSON);
13
1# Ruby JSON biçimlendirme
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 "Hata: #{e.message}"
10 end
11end
12
13# Örnek kullanım
14raw_json = '{"name":"John","age":30,"city":"New York"}'
15puts format_json(raw_json)
16
1// C# JSON biçimlendirme ile 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 $"Hata: {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 biçimlendirme
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("Hata: %s", err.Error())
14 }
15
16 formattedBytes, err := json.MarshalIndent(parsedData, "", " ")
17 if err != nil {
18 return fmt.Sprintf("Hata: %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 biçimlendirme ile çalışırken, bu potansiyel zorlukların farkında olun:
Çok büyük JSON dosyaları (birkaç megabayt veya daha fazla) web tabanlı biçimlendiricilerde performans sorunlarına neden olabilir. Bu tür durumlar için:
jq
Son derece iç içe geçmiş JSON (10-20 seviyeden daha fazla) biçimlendirilse bile gezinmesi zor hale gelebilir. Bu durumlarda:
JSON, Unicode'u destekler, ancak bazı biçimlendiriciler belirli karakterlerle sorun yaşayabilir:
JSON, sayılar için hassasiyet belirtmez; bu da çok büyük tam sayılar veya kayan nokta değerleri ile sorunlara yol açabilir:
Geçerli JSON, boş nesneleri {}
ve dizileri []
içerir; bunlar düzgün bir şekilde biçimlendirilmelidir:
{}
olarak görünmelidir[]
olarak görünmelidirİş akışınız için faydalı olabilecek daha fazla aracı keşfedin