jQuery Flashcards
JSON & XML
JSON je <b> enostavni podatkovni format</b>,ki omogoča strukturiranje podatkov <b> v obliki niza</b><b> Standardizacija leta 2013</b>, prva verzija leta 2000.
<b> podprt v vseh spletnih brskalnikih</b>
Notacija je zelo podobna kot <b> literalna oblika JS objektov</b>, pri tem <b>ni možno definirati funkcij/metod, datuma ali tipa undefined</b>
Spremenljivke in vrednosti so definirane kot <b> nizi</b><b> duplicate</b> spremenljivke ni možno imeti na isti globini
JSON datoteke hranimo z .json
JSON in JSON objekti
- Omogoča enostavno preslikavo iz JSON v JS objekta ali obratno
- Preslikava JSON -> JS objekt preko ukaza <b>JSON.parse()</b>
let myJSON = '{"name":"John", "age":31, "city":"New York"}'; let myObj = JSON.parse(myJSON); console.log(myObj.name);
Preslikava JS objekt -> JSON preko ukaza <b>JSON.stringify():</b>
let myObj = {name: "John", age: 31, city: "New York"}; let myJSON = JSON.stringify(myObj); console.log(myJSON);
Globoko rekurzivno kopiranje: JSON.parse(JSON.stringify(obj))
slabost: Ne podpira metod (funkcij) objektov, boljša praksa je jQuery $.extend
JSON in polja
vecvrstični dokoment
Večvrstični JSON niz lahko definiramo preko <b>poševnega apostrofa ` </b>
Primer:
let myJSON = {
"name":"John",
"age":30,
"cars": [
{ "name":"Ford", "models":[ "Fiesta", "Focus", "Mustang" ] },
{ "name":"BMW", "models":[ "320", "X3", "X5" ] },
{ "name":"Fiat", "models":[ "500", "Panda" ] }
]
}
;
let myObj = JSON.parse(myJSON);
console.log(myObj.cars[2].name);
JSON viri
zakaj se uporablja
preko cesa ?
• <b>JSON se primarno uporablja za izmenjavo podatkov od spletnih storitev preko
programirnega aplikacijskega vmesnika (API)</b>
• Primeri JSON podatkov dostopni iz različnih storitev:
– https://github.com/public-apis/public-apis
– Npr. vreme: https://www.metaweather.com/api/location/44418/
– Npr. statistika športa: http://soccer.sportsopendata.net/v1/leagues/serie-a/seasons/19-20/standings
• JSON validator
– https://jsonlint.com/
Uvod v XML
<b> Extensible Markup Language (XML)</b> je <b> označevalni jezik </b>, podobno kot HTML, pri čemer so značke in atributi lahko <b> poljubni</b>
Podprt v vseh spletnih brskalnikih.
<b> Prva verzija 1996 (W3C)</b>, zadnja verzija 2008
V glavi definiramo različico in kodiranje <b>?xml version=”1.0” encoding=”UTF-8”?</b>
XML lastnosti
elementi na kaj je obcutljivo,…
imena XML elementov:
- so občutljiva na <b> velike črke</b>
- začne se z _ ali črko
- <b>Ne smejo se začeti z črkami xml</b>
- Lahko vsebuje števila, vezaje, podčrtaje
- <b>Ne smejo vsebovati presledkov</b>
Atributi XML elementov so definirani v oklepajih (tako kot pri HTML)
- Atributi ne smejo vsebovati več vrednosti
XML drevo
Podovno kot DOM pri HTML lahko predstavimo <b> XML v obliki drevesa</b>
XML imenski prostor
z imenskimi prostori (<b>namespaces</b>) lahko rešujemo konflikte, kadar imamo <b>podvojene značke</b>
imenski prostor zapišemo z definirano besedno pred XML elementom, <b> za ločitev uporabimo dvopičje</b>
Opis imenskega prostora mora bit dostopen preko atributa <b>xmlns:PROSTOR=“URL” </b>, pri čemer URL ne rabi bit dosegljiv
XML preiskovanje z JS
Vse <b>ukaze za preiskovanje HTML z JS</b> lahko uporabimo z XML
Pri tem je potrebno najprej tekstovni XML naložit v JS in pretvorit v JS XML objekt, to storimo z
objektom <b>DOMParser()</b>, kjer kličemo metodo <b>parseFromString()</b>
Uvod v XSD (XML Schema Definition)
<b>XSD</b> prestavlja <b>shemo XML</b>, ki je definirana kot XML s posebnimi značkami. Kratica datoteke je XSD, vključi pa se v XML
dokument z atributom <b>xsi:schemaLocation</b>.
<b> Opisuje strukturo dokumenta </b>XML(elementov in atributov)
Elementi so lahko <b>enostavni</b>(“xs:element”) ali <b>kompleksni</b>(“xs:complexType”)
Mozno definirati atribute različnih tipov:
xs:string, xs:decimal, xs:integer, xs:bulean, xs:date, xs:time,..
Validacija preko zunanjih orodij
Uvod v XSLT(eXtensible Stylesheet Language Transformations)
XSLT je XML dokument s posebnimi XML značkami
<b>omogoča transformacijo</b> XLM dokumenta v drugi XML dokument preko različnih določenih opravil.
Definiran v ločeni datoteki, v glavi(<b>xsl:stylesheet</b>)
Uporaba JavaScript objekta <b>XSLTProcessor</b>
Uvod v XHTML (EXtensible HyperText Markup Language)
Posebna različica HTML razvita s strani W3C, ki temelji na XML- bolj <b>striktno definiranje značk</b>(nprnpr. značke se morajo zaključit, občutljivost na velike črke itd)
- Danes ni v uporabi saj imamo HTML5, sicer je se vedno podprt s strani. brskalnikov
Uvod v RSS
RSS (RDF Site Summeray) je XML dokument za prenos podatkov (n.p.r novic) iz spletnih sotitev, danes vedno mannj v uporabi saj je <b>JSON boljša zamenjava</b>.
XML ALI JSON
Prednosti JSON:
- Kompaktnost ( se posebi ce uporablamo BJSON - BinaryJSON
- Lažja kompatibilnost z JavaScript
Prednosti XML
- Uporaba imenskih prostorov
- Uporaba XSD in XSLT
JSON in XML
- Berljivo
- Omogoča enostavno programsko branje