json logo

Utangulizi wa JSON


العربية Български 中文 Český Dansk Nederlands English Esperanto Français Deutsch Ελληνικά עברית Magyar Indonesia Italiano 日本 한국어
فارسی Norsk Polski Português Română Русский Српско-хрватски Slovenščina Español Svenska Kiswahili cha Kenya Türkçe Українська Tiếng Việt

ECMA-404 The JSON Data Interchange Standard.

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.

json element

value object array string number "true" "false" "null"

object '{' ws '}' '{' members '}'

members member member ',' members

member ws string ws ':' element

array '[' ws ']' '[' elements ']'

elements element element ',' elements

element ws value ws

string '"' characters '"'

characters "" character characters

character '0020' . '10FFFF' - '"' - '\' '\' escape

escape '"' '\' '/' 'b' 'f' 'n' 'r' 't' 'u' hex hex hex hex

hex digit 'A' . 'F' 'a' . 'f'

number integer fraction exponent

integer digit onenine digits '-' digit '-' onenine digits

digits digit digit digits

digit '0' onenine

onenine '1' . '9'

fraction "" '.' digits

exponent "" 'E' sign digits 'e' sign digits

sign "" '+' '-'

ws "" '0020' ws '000A' ws '000D' ws '0009' ws