miercuri, 19 noiembrie 2008

JSON. Deci da!

Deci da! Asta a fost exprimarea cand am testat prima oara JSON-ul. E puternic, cross platform, nu are nevoie de instantieri complicate cum e XML-ul, redundanta pe langa date e mica. Pe scurt, JSON e formatul meu preferat pe care il folosc cu incredere.

Cum arata JSON-ul asta?

object

Adica asta inseamna ca urmatoarele json-uri sunt valide:

[1,2,3,4,5]
[1,2,”a”]
{“a”:5}
{“a”:5,”b”:[1,2,3,4]}
{“a”:5,”b”:[“a”,”b”,”c”],”d”:{“e”:9}}

Incepe deja sa arate complicat. Nu este!

Ideea este ca orice JSON este ori un array bazat pe indecsi ([]) ori un array bazat pe chei=>valori ({}). Cel bazat pe indecsi poate contine in interiorul lui array-uri bazate pe chei=>valori, si invers. Cum am face un JSON cu profilul unui candidat atunci?

[
{
“candidate_id”: 5,
”fname”: “Gigel”,
”lname”: “Georgel”,
”age”: 20,
”phones”: [“0722 222 222”,”0744 444 444”],
”jobs”: [
{“title”:”engineer”,”company”:”XYZ SRL”,”period”:”2002-2003”},
{“title”:”senior engineer”,”company”:”XYZ SRL”,”period:”2005-2008”}
]
}, {
“candidate_id”: 6,
… etc
}
]

Cat de verbose ar fi fost un XML echivalent? Va las sa ghiciti.

JSON-urile sunt de preferat cand vine vorba de comunicare client/server folosind ajax din mai multe motive:

- mici ca dimensiune, overhead date mic,

- interpretare nativa de catre javascript (eval),

- UTF8

- se genereaza usor pe server. In general se aplica o functie peste un Hashtable sau un Array si iese JSON.

JSON-ul se poate valida pe www.jsonlint.com

Limitari JSON?

 Syntax-Semantics-Photo

Ne afecteaza cu ceva asta? Nu! Nu folosim JSON sa stocam date, ci sa le transportam.

Niciun comentariu: