![]() |
Utangulizi wa JSON |
JSON (JavaScript Object Notation) ni lightweight data-interchange format. Ni rahisi sana kwa mtu kusoma na kuandika JSON, na pia ni rahisi kwa mashine (computers) kui-parse na kui-generate. JSON ni subset ya JavaScript Programming Language Standard (ECMA-262 3rd Edition - December 1999). JSON ni text format ambayo haitegemei programming language yoyote (completely language independent), lakini inatumia styles and rules (conventions) zinazofahamika virahisi na language programmers za C-family (kama vile C, C++, C#, Java, JavaScript, Perl, Python, na zingine nyingi). Kwa sababu ya hiyo zinaifanya JSON kuwa language bora zaidi kwa kutransfer data kati ya mifumo tofauti (ideal data-interchange language).
JSON imejengwa juu ya structures mbili pekee ambazo ni universal (zinapatikana kwa kila language duniani):
Hizi ni universal data structures. Karibu programming languages zote za kisasa zinazisupport in one way or the other. Kwa hivyo inamake sense kabisa kwamba data format inayotumiwa kusafirisha data kati ya languages tofauti pia ijengwe juu ya structures hizi hizi mbili.
Ndani ya JSON, data inachukua mifumo hii:
Object ni unordered collection (unordered set) ya name/value pairs. Object inaanza na {left brace na inaishia na }right brace. Kila jina (key) inafuatiwa na alama ya :colon na hizo name/value pairs zinasaparestiwa kwa kutumia ,comma.

Array ni collection iliyopangwa (ordered collection) ya values. Array inaanza na [left bracket na inaishia na ]right bracket. Values zote ndani yake zinasaparestiwa na ,comma.

Value inaweza kuwa string ndani ya double quotes, au number, au true au false (boolean), au null (Empty Debe), au object, au array. Structures hizi zinaweza kuwekwa ndani ya nyingine (nested) kwa kiwango chochote unachotaka.

String ni sequence ya letters either zero au zaidi za Unicode, zikiwa zimeenclosiwa ndani ya double quotes "", zikitumia backslash escapes. Letter moja inawakilishwa kama single character string. String ya JSON inafanana sana na string ya C au Java.

Number inafanana sana na namba ya kawaida ya C au Java, isipokuwa number system ya octal na hexadecimal haitumiwi hapa:

Whitespace (nafasi tupu) kama vile space, tab, newline, au carriage return zinaweza kuwekwa katikati ya token yoyote bila kubadilisha maana ya data. Ukiondoa maelezo machache ya encoding, hayo ndiyo yanayoelezea lugha nzima ya JSON kikamilifu.
