json-p 1.1 edr1 webinar

24
JSR 374: JSON-P1.1 EDR1 Webineri

Upload: hakan-oezler

Post on 08-Jan-2017

356 views

Category:

Software


0 download

TRANSCRIPT

JSR 374: JSON-P1.1 EDR1

Webineri

Hakan Özler

İstanbul JUG

ozlerhakan

ozler.hakan [at] gmail.com

İçerik

• JSR 374, JSON-P1.1 Genel Bakış

• Early Draft İncelemesi:

– JsonUtil

– Json (yeni statik üyeler)

– IETFs:

• JsonPointer

• JsonPatch

• JsonMergePatch

– JsonCollectors

Genel Bakış

• JSR 374 :

– Java API’de JSON Processing 1.1 Spesifikasyonu sağlamakta

– Java EE 8 platformunun bir parçası

– Spec Lideri: Kinman Chung, Oracle

javax.json.JsonUtil utility sınıfı

downcasting söz konusu

sınıf metodu

javax.json.Json

varolan üretici sınıf

örneklemeler

yeni üyeler

IETF Spesifikasyonları

• JSON Pointer (RFC 6901)

• JSON Patch (RFC 6902)

• JSON Merge Patch (RFC 7386)

JSON Pointer

Pointer imza deseni ile bir JSON dokümanı

içeriğindeki hedef değere ulaşmamızı sağlar.

JSON Pointer Gösterimi

JSON Pointer imzaları

javax.json.JsonPointer

JSON Patch

JSON Patch dokümanı oluşturmayı ve bu

dokümanı bir JSON dokümanı üzerinde

uygulamayı sağlar.

JSON Patch Dokümanı & Operasyonlar

Patch Dokümanı

Ops

JSON Patch Kullanımı

1. JsonPatch sınıfını bir JsonArray ile örnekleme.

2. JsonPatchBuilder sınıfına başvurma.

javax.json.JsonPatch

JSON Merge Patch

JSON Merge Patch dokümanı ile bir JSON

dokümanı içeriğini değiştirmeyi sağlar.

JSON Merge Patch

Hedef Doküman Merge Patch Doküman Sonuç

{"a":"b"} {"a":"c"} {"a":"c"}

{"a":"b"} {"b":"c"} {"a":"b“,”b”,”c”}

{"a":"b"} {"a":null} {}

{"a":"b", "b":"c"} {"a":null} {"b":"c"}

{"a":["b"]} {"a":"c"} {"a":"c"}

{"a":"c"} {"a":["b"]} {"a":["b"]}

{"a": {

"b": "c“

}

}

{"a": {

"b": "d",

"c": null

}

}

{"a": {

"b": "d“

}

}

{ "a": [ {"b":"c"} ]} {"a": [1]} {"a": [1]}

{“a”:”b”} [1,2] [1,2]

[1,2] {“a” : “b”} { “a” : “b”}

#mergePatch & #diff

javax.json.stream.JsonCollectors

• toJsonArray():

– Stream’deki JsonValue elementlerini bir JsonArray içine ekler.

• toJsonObject(Function key, Function value):

– key-value yardımıyla oluşturulan stream’deki JsonValue elementlerini bir

JsonObject içine ekler.

• groupingBy(Function classifier):

– JsonValue stream elementlerini bir JsonObject içine gruplar.

#toJsonArray

25 yaş ve üstü kişilerin ismini

ekle [‘Ali’, ‘Ayşe’]

#toJsonObject

isim/hobi çifti oluştur

#groupingBy

cinsiyete göre grupla

Adopt-a-JSR

Faydalı Sayfalar

• Istanbul Java User Group Sayfası – Facebook: Facebook Sayfası

– Twitter: Twitter Hesabı

• Adopt a JSR - Istanbul JUG GitHub

• Adopt a JSR Program

• Adopt-a-JSR for Java EE

• Adopt-a-JSR/Java EE 8 at Istanbul JUG

• First Look at JSR 374, JSON-P 1.1 EDR

• First Look at JSR 371, MVC 1.0 Spesification and Ozark RI

• JSR 107 – JCache Standardına İlk Bakış

Teşekkürler

Teşekkürler