JSON (JavaScript Object Notation)

LLM API'leri ve yapay zeka sistemlerinde veri alışverişinin evrensel standardı olan hafif, insan tarafından okunabilir metin tabanlı veri biçimi.

JSON (JavaScript Object Notation), insan tarafından okunabilir ve makineler arası veri değişimine uygun hafif bir metin tabanlı veri biçimidir. Douglas Crockford tarafından 2001 yılında tanımlanmış, RFC 8259 standardıyla resmileşmiş; günümüzde REST API'leri, yapılandırma dosyaları ve yapay zeka sistemleri arasında de facto veri alışveriş standardı konumundadır. JSON altı temel değer türü destekler: string (çift tırnak içinde metin), number (tam veya ondalıklı sayı), boolean (true/false), null (değersizlik) ile iki koleksiyon türü olan object (anahtar-değer çiftleri) ve array (değerler listesi). Sözdizimi minimal olduğundan tüm modern programlama dillerinde yerel destek mevcuttur. XML aksine şema gerektirmez; YAML kıyasla katı sözdizimi ayrıştırma tutarsızlıklarını önler. Yapay zeka ve LLM sistemlerinde JSON kritik öneme sahiptir. OpenAI, Anthropic ve Google gibi sağlayıcıların API'leri sohbet turlarını, araç tanımlarını (tool/function calling) ve model yanıtlarını JSON formatında iletir. Yapılandırılmış Çıktılar (Structured Outputs) özelliği, modelin JSON Schema'ya tam uyumlu yanıt üretmesini garanti ederek ayrıştırma hatalarını ortadan kaldırır. Pydantic ve Zod kütüphaneleri, JSON'ı Python ve TypeScript veri modellerine dönüştürmek için yaygın kullanılır. JSON Schema, bir JSON belgesinin yapısını, zorunlu alanlarını ve değer kısıtlamalarını tanımlayan bağımsız bir standarttır; LLM araç tanımlarının ve yapılandırılmış çıktı doğrulamasının temelini oluşturur. JSON Lines (.jsonl), her satırın bağımsız bir JSON nesnesi olduğu varyant olup LLM eğitim veri setlerinde ve büyük veri işleme boru hatlarında yaygın tercih görür. Hugging Face model hub'ında config.json ile tokenizer_config.json dosyaları model mimarisini ve tokenizer parametrelerini bu formatta tanımlar. Güvenilmez kaynaklardan gelen JSON verisi işlenirken şema doğrulaması uygulanmalıdır. LLM çıktısından JSON elde edilmesinde Markdown kod bloğu içindeki JSON'ı regex ile işlemek yerine JSON modu veya yapılandırılmış çıktı API'si tercih edilmesi çok daha güvenilir sonuç verir.

JSON Temel Sözdizimi

braces Object

{"ad": "Ahmet", "yas": 30, "aktif": true} — Anahtar-değer çiftleri. Anahtarlar çift tırnak içinde string olmalıdır.

data_array Array

["elma", "armut", 42, false, null] — Sıralı değerler listesi. Farklı tipler bir arada olabilir.

text_fields Primitive

string: "metin", number: 42 veya 3.14, boolean: true/false, null: değersizlik. Tüm JSON değerleri bu tiplerin kombinasyonudur.

account_tree İç içe yapı

Object içinde array, array içinde object olabilir. Derinlik sınırı yoktur; ancak aşırı iç içe yapı okunabilirliği düşürür.

smart_toy LLM ve Yapay Zekada JSON

Modern LLM API'leri JSON tabanlıdır: İstekler ("messages", "tools", "model" gibi alanlar) ve yanıtlar JSON formatındadır. Function calling / tool use: Model, hangi fonksiyonu hangi JSON argümanlarıyla çağıracağını belirler. Structured Outputs: OpenAI ve Anthropic'in sunduğu özellik; model çıktısının JSON Schema'ya tam uyumlu olmasını garanti eder. Bu, üretim ortamlarında güvenilir veri ayrıştırma sağlar ve ayrıştırma hatalarını ortadan kaldırır.

JSON ve AI Sistemlerindeki Kritik Rolü

  • check_circle LLM API İstekleri ve Yanıtları: OpenAI, Anthropic, Google API'lerinin tamamı JSON üzerinden iletişim kurar. İstek gövdesi (model, messages, temperature) ve yanıt (choices, usage) JSON nesneleridir.
  • check_circle Yapılandırılmış LLM Çıktısı: OpenAI'ın JSON modu ve Anthropic'in yapılandırılmış çıktı API'si, modeli geçerli JSON üretmeye zorlar. Bu özellik, metin ayrıştırma yerine doğrudan JSON işleme imkânı sunar.
  • check_circle Araç Tanımı (Tool/Function Definition): LLM ajanlarındaki araçlar JSON Schema ile tanımlanır. Model hangi argümanları kullanacağını öğrenirken, sistem hangi araçları çağırabileceğini JSON'dan okur.
  • check_circle Vektör Veritabanı Metadata: Pinecone, Weaviate, Chroma gibi vektör veritabanları her vektörün metadata'sını JSON olarak saklar; filtreleme ve arama bu JSON alanlara göre yapılır.
  • check_circle Model Ağırlık Yapılandırması: config.json, tokenizer_config.json gibi dosyalar Hugging Face model hub'ında modelin mimarisini, tokenizer parametrelerini ve özel ayarları tanımlar.
  • check_circle JSON-LD ve SEO: Arama motorlarının anlamasını kolaylaştıran yapılandırılmış veri formatı. FAQ, HowTo ve Article şemaları için yaygın kullanım; AI içerik indekslemesinde giderek önem kazanıyor.

JSON'un AI Uygulama Geliştirmesindeki Önemi

JSON, modern AI uygulama geliştirmesinin ortak dilidir. LLM API entegrasyonundan RAG sistemlerine, ajan araç tanımından model konfigürasyonuna kadar her katmanda JSON kullanılır. Pratik AI geliştirme açısından JSON bilmeniz gereken temel kavramlar: JSON Schema — veri yapısını doğrulamak için standart; yapılandırılmış çıktı — modeli geçerli JSON üretmeye zorlamak; JSON Lines (.jsonl) — her satırın bir JSON nesnesi olduğu büyük veri formatı (training datasets genellikle bu formatta). Güvenlik açısından dikkat: JSON.parse ile gelen veriyi güvensiz kaynaktan işlerken her zaman doğrulama yapın. Ağ aktarımı için JSON sıkıştırma (MessagePack, CBOR) büyük veri hacimleri için alternatiftir. LLM çıktısından JSON çıkarımı: modelin markdown kod bloğu içinde JSON döndürmesi yaygın; regex veya özel parser ile çıkarmak yerine JSON modu/yapılandırılmış çıktı API'si tercih edilmelidir.

quiz Sık Sorulan Sorular

  • check_circle JSON ile JSON Schema arasındaki fark nedir?: JSON bir veri biçimidir; herhangi bir yapısal kısıtlama içermez. JSON Schema ise bir JSON belgesinin yapısını, zorunlu alanları ve değer kısıtlamalarını tanımlayan ayrı bir şema dilidir.
  • check_circle LLM JSON üretirken neden hata yapıyor?: Modeller bazen yanlış tırnaklar, fazla virgül veya yorum satırları üretir. Structured Outputs veya JSON mode kullanmak bu sorunları ortadan kaldırır; çıktı ayrıştırıcı doğrulama da iyi pratiktir.
  • check_circle JSON nedir?: JavaScript Object Notation, insan tarafından okunabilir ve makineler arası veri alışverişi için kullanılan hafif metin tabanlı veri formatıdır. Tüm modern AI API'leri bu formatı kullanır.
  • check_circle LLM'den JSON çıktısı nasıl alınır?: OpenAI API'de `response_format={'type': 'json_object'}`, Anthropic'te yapılandırılmış çıktı API'si kullanılır. Alternatif olarak system prompt'ta JSON formatı zorunlu kılınabilir; ancak JSON modu daha güvenilirdir.
  • check_circle JSON Schema nedir?: JSON verilerinin yapısını, türlerini ve kısıtlamalarını tanımlayan standarttır. LLM araç tanımları (tool/function calling) ve yapılandırılmış çıktı validasyonu için kullanılır.
  • check_circle JSONL (JSON Lines) nedir?: Her satırın bağımsız bir JSON nesnesi olduğu format. LLM eğitim veri setleri, log sistemleri ve büyük veri işleme boru hatlarında yaygın. Tam JSON'dan farklı olarak satır satır akış işlemeye uygundur.