02-27-2012، 04:43 PM
جيسان يا JSON (JavaScript Object Notation) يك فرمت تبادل داده سبك (lightweight) ميباشد كه خواندن و نوشتن آن براي انسان و توليد و پارس كردن آن براي ماشينها آسان است. اين زبان بر مبناي يك زير مجموعه از زبان برنامهنويسي JavaScript ، استاندارد ECMA-262 ويرايش سوم - دسامبر 1999، است. JSON بصورت متني (text) بوده و كاملاً مستقل از زبان بكار رفته است، اما از قوانيني استفاده ميكند كه براي برنامهنويسان زبانهاي خانواده C (شامل C ، C++ ، Java ، JavaScript ، Perl ، Python ، و بسياري زبانهاي ديگر) آشنا ميباشد. اين خصوصيات JSON را يك زبان تبادلدادهاي ايدهآل كرده است.
JSON بر اساس دو ساختار ساخته شده:
يك مجموعه از زوجهاي نام/ارزش (name/value). در زبانهاي گوناگون اين ساختار يك شيء (object) ، ساختار (struct) ، ديكشنري (dictionary) ، جدول مخلوط (hash table) ، ليست كليددار (keyed list) يا آرايه انجمني (associative array) شناخته ميشود. • يك ليست منظم از ارزشها. در بسياري از زبانها اين ساختار يك آرايه ( array) ، بردار (vector) ، ليست (list) ، يا دنباله (sequence) شناخته ميشود.
اينها ساختار دادههاي عمومي هستند. همه زبانهاي برنامهنويسي مدرن يكي از آنها را پشتيباني ميكنند. منطقي است كه يك فرمت داده قابل استفاده توسط زبانهاي برنامهنويسي مختلف بر مبناي اين ساختارها باشد.
در JSON از فرمهاي زير استفاده ميشود:
يك شيء (object) يك مجموعه نامنظم از زوجهاي نام/ارزش است. يك object با { (آكولاد باز) شروع، و با } (آكولاد بسته) تمام ميشود. در انتهاي هر نام يك : (دو نقطه) قرار ميگيرد و زوجهاي نام/ارزش با , (ويرگول) جدا ميشوند.
يك array يك مجموعه (collection) منظم از ارزش > (value) ها است. يك array با [ (براكت باز) شروع، و با > ] (براكت بسته) تمام ميشود. ارزشها توسط , (ويرگول) از هم جدا ميشوند.
يك value ميتواند يك رشته (string) داخل " ، يا يك عدد ، يا true يا false يا null ، يا يك object يا يك array باشد. اين ساختارها ميتوانند تو در تو باشند.
يك string يك مجموعه از صفر يا بيشتر كاراكترهاي يونيكد (Unicode) است، كه با استفاده از backslash escapes داخل " قرار گرفته. يك كاراكتر به صورت يك رشته تك كاراكتري نمايش داده ميشود. رشته بسيار شبيه رشته در C يا Java است.
عدد (number) بسيار شبيه عدد در C يا Java است، به استثنا اينكه از فرمتهاي دهدهي و هگزادسيمال استفاده نميشود.
فضاي خالي (Whitespace) ما بين هر جفت از نشانهها (token) ميتواند قرار گيرد. به جز تعدادي از جزييات رمزگذاريها (encoding detail) كه زبان را شرح ميدهند.
JSON بر اساس دو ساختار ساخته شده:
يك مجموعه از زوجهاي نام/ارزش (name/value). در زبانهاي گوناگون اين ساختار يك شيء (object) ، ساختار (struct) ، ديكشنري (dictionary) ، جدول مخلوط (hash table) ، ليست كليددار (keyed list) يا آرايه انجمني (associative array) شناخته ميشود. • يك ليست منظم از ارزشها. در بسياري از زبانها اين ساختار يك آرايه ( array) ، بردار (vector) ، ليست (list) ، يا دنباله (sequence) شناخته ميشود.
اينها ساختار دادههاي عمومي هستند. همه زبانهاي برنامهنويسي مدرن يكي از آنها را پشتيباني ميكنند. منطقي است كه يك فرمت داده قابل استفاده توسط زبانهاي برنامهنويسي مختلف بر مبناي اين ساختارها باشد.
در JSON از فرمهاي زير استفاده ميشود:
يك شيء (object) يك مجموعه نامنظم از زوجهاي نام/ارزش است. يك object با { (آكولاد باز) شروع، و با } (آكولاد بسته) تمام ميشود. در انتهاي هر نام يك : (دو نقطه) قرار ميگيرد و زوجهاي نام/ارزش با , (ويرگول) جدا ميشوند.
يك array يك مجموعه (collection) منظم از ارزش > (value) ها است. يك array با [ (براكت باز) شروع، و با > ] (براكت بسته) تمام ميشود. ارزشها توسط , (ويرگول) از هم جدا ميشوند.
يك value ميتواند يك رشته (string) داخل " ، يا يك عدد ، يا true يا false يا null ، يا يك object يا يك array باشد. اين ساختارها ميتوانند تو در تو باشند.
يك string يك مجموعه از صفر يا بيشتر كاراكترهاي يونيكد (Unicode) است، كه با استفاده از backslash escapes داخل " قرار گرفته. يك كاراكتر به صورت يك رشته تك كاراكتري نمايش داده ميشود. رشته بسيار شبيه رشته در C يا Java است.
عدد (number) بسيار شبيه عدد در C يا Java است، به استثنا اينكه از فرمتهاي دهدهي و هگزادسيمال استفاده نميشود.
فضاي خالي (Whitespace) ما بين هر جفت از نشانهها (token) ميتواند قرار گيرد. به جز تعدادي از جزييات رمزگذاريها (encoding detail) كه زبان را شرح ميدهند.