JSON Şeması Rehberi

JSON Şeması

JSON Schema'ya geçmeden önce, JSON ve JSON Schema arasındaki farkı bilmek önemlidir.

JSON

JSON, JavaScript Object Notation'ın kısaltmasıdır ve API'lerin istek ve yanıt göndermek için kullandığı dilden bağımsız bir veri biçimidir. JSON, hem insanlar hem de makineler için okuması ve yazması kolaydır. JSON, dile bağlı olmayan (Dilden bağımsız) metin tabanlı bir biçimdir.

JSON Şeması

JSON Schema, JSON veri yapısını doğrulamak için yararlı bir araçtır. JSON'un yapısını belirtmek için JSON tabanlı bir biçim kullanın. Amacı, JSON verilerinin kabul edilebilir olmasını sağlamaktır. Uygulamamızın JSON verilerinin kuralı, şema kullanılarak tanımlanabilir.

JSON Schema belirtiminin üç ana bölümü vardır:

JSON Hiper Şeması:

JSON Hyper-Schema, HTTP gibi metin tabanlı ortamlar aracılığıyla harici JSON kaynaklarını işlemek ve değiştirmek için JSON belgelerini köprüler ve talimatlarla etiketlemek için kullanılabilen bir JSON Şema dilidir. Tıklamak okuyun JSON Hyper-Schema hakkında daha fazla bilgi edinmek için.

JSON Şema Çekirdeği:

JSON belgelerini etiketlemek ve doğrulamak için bir dizi kuraldır. 

JSON Şema Çekirdeği:

  • Şu anda sahip olduğunuz veri biçimini açıklar. 
  • Otomatik testlerde kullanılabilecek verileri doğrular. 
  • Müşteriler tarafından verilen verilerin doğruluğunun sağlanması.  
  • Hem insanlar hem de makineler için okunabilir belgeler sağlar. 

JSON Şema Doğrulaması:

JSON Şemasına dayalı doğrulama, örnek verilerinin yapısına sınırlar getirir. Bundan sonra, iddia dışı olan tüm anahtar kelimeler bilgiaçıklayıcı meta veriler ve kullanım göstergeleri gibi, bildirilen tüm kısıtlamaları karşılayan bir örnek konumuna eklenir. 

Newtonsoft'un JSON Schema Validator aracı, doğrudan tarayıcınızda ücretsiz olarak kullanabileceğiniz bir araçtır. JSON şemanızın yapısını test etmek için bu aracı kullanabilirsiniz. Bu sayfa, başlamanıza yardımcı olacak kontroller ve açıklamalar içerir. Bu şekilde, JSON yapınızı nasıl iyileştireceğinizi görmek kolaydır.

JSON Nesnemizi JSON Şema Doğrulama Aracını kullanarak kontrol edebiliriz:

JSON Doğrulayıcı Hatasız

Yukarıdaki şekilde gösterildiği gibi yaş doğrulamamız var (minimum = 20 ve maksimum = 40). Hata bulunamadı.

Hatalı JSON Doğrulayıcı

Yaş doğrulaması yanlış girildiyse bir hata gösteriyordu.

Bir JSON Şemasının Oluşturulması

Neden bahsettiğimizi görmek için bir JSON Schema örneğine bakalım. Bir ürün kataloğunu açıklayan temel bir JSON Nesnesi aşağıdaki gibidir:

JSON Örneği

JSON Şeması aşağıdaki gibi yazılabilir:

JSON Şema Sonucu

Bir JSON Şeması bir JSON belgesidir ve bu belge bir nesne OLMALIDIR. Anahtar sözcükler, JSON Schema tarafından belirtilen nesne üyeleri/öznitelikleridir. JSON Schema'daki “anahtar kelimeler”, bir nesnedeki anahtar/değer kombinasyonunun “anahtar” kısmını ifade eder. Bir JSON Şeması yazmak, çoğunlukla belirli bir "anahtar kelimeyi" bir nesne içindeki bir değere eşlemeyi içerir. 

Örneğimizde kullandığımız anahtar kelimelere daha yakından bakalım: 

Kaynağın şemasının uyduğu JSON şeması bu öznitelik tarafından yazılır. Bu şema, “ tarafından belirtildiği gibi taslaklar v4 standardına göre yazılmıştır.$ şema” anahtar kelime. Bu, şemanızın eski sürümle uyumlu olan veya olmayan mevcut sürüme geri dönmesini önler.

"başlık"Ve"tanım” anahtar kelimeler sadece açıklayıcıdır; kontrol edilen verilere herhangi bir sınırlama getirmezler. Bu iki anahtar kelime, şemanın amacını tanımlar: bir ürünü tanımlar.

"tip” anahtar sözcüğü, JSON verilerimizin ilk sınır koşulunu tanımlar; bir JSON Nesnesi olmalıdır. Tüm şemalar için tür belirlemezsek, kod çalışmaz. Bazı yaygın türler "number" "Boolean" "integer" "null" "object" "array" "string" şeklindedir.

 

JSON Şeması aşağıdaki kitaplıklar tarafından desteklenir:

 

Dil

Kütüphane

C

WJElemanı

Python

jschon

PHP

Açıklama Json Şeması

JavaScript

ayv

Go

gojson şeması

Kotlin

Medeia doğrulayıcı

Yakut

JSONSchemer

JSON (Sözdizimi)

JSON'un temel sözdizimine kısaca bir göz atalım. JSON sözdizimi, aşağıdaki öğeleri içeren JavaScript sözdiziminin bir alt kümesidir:

  • Verileri temsil eden ad/değer çiftleri kullanılır.
  • Nesneler kaşlı ayraçlar içinde tutulur ve her adın başında bir ':' (iki nokta üst üste) bulunur ve değer çiftleri “,” (virgül) ile ayrılır.
  • Değerler “,” (virgül) ile ayrılır ve diziler köşeli parantez içinde tutulur.
JSON Söz Dizimi Örneği

Aşağıdaki iki veri yapısı JSON tarafından desteklenir:

  • Sıralı değer listesi: Bir dizi, liste veya vektör olabilir.
  • Ad/değer çiftlerinin toplanması: Farklı bilgisayar dilleri bu Veri Yapısını destekler.

 

JSON (Nesne)

JSON şeması, farklı bir JSON nesnesinin türünü ve yapısını özetleyen bir JSON nesnesidir. Bir JavaScript nesne ifadesi, JavaScript çalışma zamanı ortamlarında bir JSON nesnesini temsil edebilir. Geçerli şema nesnelerinin bazı örnekleri aşağıdaki gibidir:

Şema

Maçlar

{}

herhangi bir değer

{ tür: 'nesne' }

JavaScript nesnesi

{ Numara giriniz' }

JavaScript numarası

{ tür: 'dize'}

bir JavaScript dizisi

Örneğin:

Boş olan yeni bir nesne yapmak:

var JSON_Obj = {};

Yeni Nesne Oluşturma:

var JSON_Obj = yeni nesne()

JSON (XML ile Karşılaştırma)

JSON ve XML, dilden bağımsız, insanlar tarafından okunabilen biçimlerdir. Gerçek dünya senaryolarında hem oluşturabilir, hem okuyabilir hem de kod çözebilirler. Aşağıdaki kriterlere dayanarak, JSON'u XML ile karşılaştırabiliriz.

karmaşa

XML, JSON'dan daha karmaşık olduğu için programcılar JSON'u tercih eder.

Dizilerin Kullanımı

XML, yapılandırılmış verileri ifade etmek için kullanılır; ancak, XML dizileri desteklemez, ancak JSON destekler.

ayrıştırma

JSON, JavaScript'in eval işlevi kullanılarak yorumlanır. eval, JSON ile kullanıldığında açıklanan nesneyi döndürür.

 

Örnek:

 

JSON

XML

{

   “şirket”: Ferrari,

   “isim”: “GTS”,

   “fiyat”: 404000

}

 

 

ferrari 

 

GTS 

 

404000 

 

JSON Şema Avantajları

JSON, insan ve makine tarafından okunabilen bir dilde saptırmak için tasarlanmıştır. Ancak, biraz ince ayar olmadan ikisi de olamaz. JSON Schema, JSON'u hem makineler hem de insanlar için daha anlaşılır hale getirme avantajına sahiptir.

JSON Schema'yı kullanmak, birkaç istemci tarafı güncelleme ihtiyacını da ortadan kaldırır. Yaygın HTML kodlarının bir listesini yapmak ve ardından bunları istemci tarafında uygulamak, istemci tarafı oluşturmak için tipik ancak hatalı bir yöntemdir. API uygulamalar. Ancak bu en iyi strateji değildir çünkü sunucu tarafındaki değişiklikler belirli işlevlerin arızalanmasına neden olabilir.

JSON Schema'nın ana avantajı, doğrulamanın doğruluğu ve tutarlılığının yanı sıra çeşitli programlama dilleriyle uyumlu olmasıdır.

JSON şeması çok çeşitli tarayıcıları destekler ve işletim sistemleri, bu nedenle JSON'da yazılan uygulamalar, hepsini tarayıcı uyumlu hale getirmek için fazla çaba gerektirmez. Geliştirme sırasında geliştiriciler, JSON'un zaten yeteneklere sahip olmasına rağmen birkaç tarayıcıyı göz önünde bulundurur.

JSON, ses, video ve diğer ortamlar dahil olmak üzere her boyutta veriyi paylaşmanın en verimli yoludur. Bunun nedeni, JSON'un verileri dizilerde depolamasıdır, bu da veri iletimini kolaylaştırır. Sonuç olarak JSON, çevrimiçi API'ler ve geliştirme için en iyi dosya biçimidir.

API'ler daha yaygın hale geldikçe, API doğrulama ve testinin giderek daha önemli hale geleceğini varsaymak mantıklıdır. Zaman geçtikçe JSON'un çok daha basitleşmeyeceğini beklemek de gerçekçidir. Bu, verileriniz için bir şemaya sahip olmanın zaman geçtikçe daha kritik hale geleceği anlamına gelir. JSON, API'lerle çalışmak için standart dosya biçimi olduğundan, JSON Schema, API'lerle çalışanlar için iyi bir alternatiftir.