कंप्यूटरप्रोग्रामिंग

JSON प्रारूप: विवरण, उदाहरण

चर वस्तुएँ, सारणी, और वस्तुओं - डेटा प्रस्तुति की एक परिचित और सुविधाजनक रूप। डेटा जावास्क्रिप्ट जरूरी है कि भाषा पीएचपी सर्वर नहीं है में ब्राउज़र में लिया वर्णन करें। JSON प्रारूप में आप उन्हें एक पूरे में संकलित करने के लिए, और नहीं प्रोग्रामिंग भाषा पर ध्यान केंद्रित करने की अनुमति देता है। डेटा का "नाम = मूल्य" एक जोड़ी में बदला जाता है। उनमें से प्रत्येक में मूल्य भी इन जोड़ों का एक संग्रह हो सकता है।

अपनाया ब्रेसिज़ और JavaScript ऑब्जेक्ट के साथ जुड़े JSON। उत्तरार्द्ध काफी उचित है, क्योंकि JSON = ऑब्जेक्ट संकेतन जावास्क्रिप्ट स्वरूप है। हाल के वर्षों में, विशेष रूप से गतिशील, बहुत बदल गया है। यही कारण है कि एक विशेष उद्देश्य के लिए बनाया गया था, अक्सर अप्रत्याशित परिणाम लाता है और नए क्षितिज खोल दिया।

डाटा एक्सचेंज: ब्राउज़र - सर्वर

AJAX प्रौद्योगिकी परंपरागत, सामान्य अद्यतन हो गया है पूरे पृष्ठ लोकप्रिय नहीं रह गया है। आगंतुक, साइट खोलने,, आंशिक डेटा का आदान-प्रदान की एक श्रृंखला आरंभ जब कुछ पृष्ठों जगह है कि समय से अपेक्षित है में केवल बदलती हैं।

यह माना जाता है कि उपस्थिति JSON इसके साथ जुड़े AJAX, लेकिन वास्तव में साहचर्य जावास्क्रिप्ट सरणियों और ऑब्जेक्ट नोटेशन (विशेष रूप से वाक्य रचना विवरण और वस्तुओं के प्रयोग) ब्राउज़र और सर्वर के बीच डेटा विनिमय से, और अधिक JSON के अनुपात से संबंधित हैं।

के बाद से समकालीन साइटों की पृष्ठों की सामग्री वास्तव में "बड़े पैमाने पर" बन गया है (चारों ओर), और डेटा विनिमय के लिए प्रारूप के प्रभाव को विशेष महत्व ले लिया है। हम यह नहीं कह सकते कि डेटा के नए JSON प्रतिनिधित्व था, लेकिन तथ्य यह है कि वह लंबे समय तक जावास्क्रिप्ट वाक्य रचना तत्व किया गया था आवश्यक है।

चर नामकरण में सिरिलिक वर्णमाला के उपयोग - बहुत अप्रत्याशित घटना (बकवास), लेकिन यह क्रोम, फायरफॉक्स के हाल के संस्करणों में काम करता है, और यहां तक कि, Internet Explorer 11 में।

सिरिलिक और JSON

बेशक, एक पूरी तरह से अप्रत्याशित घटना का उपयोग करने को याद कितनी आसानी से रूस पत्र में दर्ज चरों के मान, अस्पष्ट में बदल गया के लायक नहीं है, मैं नाम, विशेष रूप से विदेशी के बारे में क्या कह सकते हैं।

ऐसा नहीं है कि ब्राउज़र के वातावरण के बाहर सिरिलिक नाम, के समर्थन में पहल है जिसके साथ वह लगातार से निपटने के लिए संदिग्ध है। यह के रूप में आप डेवलपर चाहते नाम और मान लिखने के लिए एक अवसर है - लेकिन इस तथ्य को सरल कारण यह है कि JSON प्रारूप के लिए ध्यान के योग्य है। इसका कारण यह है आवेदन के रूप में यह आवश्यक है की हर समस्या का वर्णन फ़ील्ड में महत्वपूर्ण है, बहुत डिबगिंग सरल करता है और त्रुटियों को कम कर देता।

कोई फर्क नहीं पड़ता है कि किस तरह एक आधार वाक्यात्मक नवाचार था - JSON, यह महत्वपूर्ण है कि यह एक कानूनी अधिकार और लाइन डालने के लिए एक असली मौका दिया: "किसी भी नाम = किसी भी मूल्य।"

हम जावास्क्रिप्ट भाषा को श्रद्धांजलि देने चाहिए: कि वाक्य रचना प्रदान करता है डेवलपर की आवश्यकता नहीं है और यह कुछ भी लागू नहीं करता। डेवलपर को स्वतंत्र रूप से डेटा मॉडल की इष्टतम गठन और एल्गोरिथ्म वे उपयोग के लिए भाषा का सिंटैक्स का उपयोग करता।

पीएचपी और JSON

(विशेष रूप से, पीएचपी के माध्यम से) JSON प्रारूप, सर्वर में डेटा ले रहा है के रूप में यह है उन्हें संभालने के लिए और उसी प्रारूप में ब्राउज़र के लिए वापस परिणाम वापस लौट सकते हैं। स्रोत सरणी PHP:

  • $ CJSON = सरणी ( "एक" => "अल्फा", "ख" => "बीटा", "जी" => "गामा")।

ब्राउज़र को प्रसारण के लिए एक JSON प्रारूप परिवर्तित:

  • $ CJS = json_encode ($ cJSON)

परिणाम:

  • { "एक": "अल्फा" , "बी": "बीटा", "जी": "गामा"}।

तस्वीर घोंसले में दिखाया गया है की अनुमति दी।

यहाँ का गठन द्वारा सरणी इस "Z" सूचकांक के साथ स्वत: सूचकांक "0", और तब पुन साथ "खुद को" एक नए तत्व जोड़ दिया गया।

उलटा फंक्शन - json_decode () एक PHP सरणी में JSON स्ट्रिंग बदल देता है। इसी तरह के परिणाम पीएचपी कार्यों से छेड़छाड़ के द्वारा प्राप्त किया जा सकता है: फटना () और विस्फोट ()। कुछ मामलों में, इस विकल्प बेहतर है।

नेस्टिंग स्तर

तत्वों ब्राउज़र साइड या सर्वर साइड रूप में एक दूसरे में नेस्ट जा सकता है। अभ्यास JSON प्रारूप (विवरण आरएफसी 4627 मानक) में नेस्टिंग के स्तर को काफी 4 की तुलना में अधिक प्रदान करता है, लेकिन इस संभावना का गलत इस्तेमाल नहीं करना चाहिए।

यह सबसे अच्छा उचित प्रचुरता की सीमाओं से परे जाना कभी नहीं करने के लिए है, यह कोड, पठनीय डिबग और अन्य डेवलपर्स को समझने के लिए आसान बनाता है।

JSON डेटा संरचनाओं कि एक्सएमएल आसान, दोनों मानव और कंप्यूटर समझा करने के लिए किया जा सकता है। यह सच है जब डेटा की मात्रा छोटा है और डेवलपर की नेस्टिंग स्तर बुद्धिमानी से चुना है। अन्य सभी मामलों में, कोष्ठक की संख्या की गणना करने और समझने डेटा की संरचना ब्राउज़र-पक्ष और सर्वर साइड के रूप में मुश्किल है।

JSON फ़ाइलें

व्यवहार में JSON के अनुप्रयोग अक्सर उपलब्ध लघु स्ट्रिंग की धारणा तक सीमित नहीं है। किसी भी डेटा संरचना हमेशा व्यावहारिक नहीं है। उसी JSON प्रभावी ढंग से, साथ ही अस्थायी डेटा (कैश वस्तु) के कार्यान्वयन के लिए समस्या (राज्य उद्यम) के वास्तविक डेटा में लागू किया जा सकता है।

राज्य उद्यमों और JSON प्रारूप: उदाहरण

एक उपनाम, प्रथम नाम, जन्म, पेशे, शिक्षा की तारीख, ... और कुछ और सरल मूल्यों - आम तौर पर, एक व्यक्ति के बारे में रिकॉर्डिंग। यहां तक कि एक व्यक्ति की सबसे ज्यादा मांग कंपनियों रिकॉर्ड में एक दर्जन या दो क्षेत्रों से अधिक नहीं है। यह धारणा उपलब्ध है और एक डेटाबेस पंक्ति में रखा जा सकता है।

कंपनी कई लोगों को रोजगार है - एक बात है, लेकिन हजारों अगर - एक और काफी है। आप डेटाबेस का उपयोग जारी रख सकते हैं, लेकिन यह एक फ़ाइल में रखते हुए अधिक व्यावहारिक और अधिक उपयोग करने के लिए सस्ती लग रहा है।

फ़ाइल स्वरूप JSON - एक सादा पाठ फ़ाइल। स्टाफ के साथ मामला है, सब ठीक। पढ़ें यह हमेशा संभव है। ओपन और परिवर्तन भी है कि फाइल की सामग्री में अपने स्वामित्व की जानकारी जोड़ने के लिए आदत नहीं है किसी भी पाठ संपादक में उपलब्ध है। आम तौर पर, * .json - स्ट्रिंग - यह ब्राउज़र के भीतर शुद्ध पाठ, और फ़ाइल के भीतर है।

चित्र, एक कैश वस्तु से पता चलता एक तस्वीर उदाहरण बन जाता है।

इस फ़ाइल में बनाई गई सामग्री मग और मिट्टी के पात्र पर रंग प्रिंट मात्रा पेश करने वाली साइटों का एक उदाहरण है। बेशक, JSON- प्रारूपण आप इसे खोलने, वास्तव में समस्या पैदा करने के साथ तय करने के लिए। बहरहाल, यह और इसी तरह के मामलों में, एक फ़ाइल को पढ़ने के साथ समस्याओं उठता है: PHP फ़ाइल पढ़ता है, यह पार्स करके ब्राउज़र को भेजता है। बदल आगंतुक डेटा सर्वर में लौट आए और वापस लिखा है।

इस अवतार में, फ़ाइल के उपयोग के एक चर कि कोड के बाहर संग्रहीत किया जाता है के रूप में प्रकट होता है। यदि आवश्यक हो, चर फ़ाइल से मूल्य असाइन किया गया है, और अगर यह साइट के लिए प्रदान की बातचीत में आगंतुक, द्वारा बदल दिया गया है, तो सभी परिवर्तन के रूप में यह है दर्ज किया जाएगा। पढ़ सकते हैं और फ़ाइल की सामग्री को सत्यापित करने के लिए कोई ज़रूरत नहीं।

JSON अक्सर भंडारण और गोपनीय जानकारी के उपयोग के लिए प्रयोग किया जाता है - स्टाफ नहीं है, यह या तो डेवलपर या साइट आगंतुक को देखने के लिए आवश्यक नहीं है।

XML और JSON

"अच्छे समय में सभी" - के लिए भी प्रोग्रामिंग से पहले दी गई शास्त्रीय ज्ञान, ले लिया। "वहाँ बस नहीं है कि ऐसा नहीं है" - यह भी था इससे पहले कि लोग एक कृत्रिम भाषा में पहली सुगम कार्यक्रम लिखा था।

डेटा स्वरूप वास्तविक जरूरतों पर दिखाई देते हैं और हासिल ज्ञान पर आधारित हैं। HTML में - अपने रास्ते, एक्सएमएल में - अपने तरीके है, और JSON - जावास्क्रिप्ट ऑब्जेक्ट है तर्क अन्य भाषाओं के लिए बढ़ा दिया। तुलना करने के लिए दूसरे के साथ एक सबसे अच्छा व्यवसाय नहीं है। प्रत्येक अपने ही करने के लिए।

एक्सएमएल शानदार उनके कार्यों से निपटने और इतिहास में नीचे जाना स्पष्ट रूप से नहीं जा रहा है। एक JSON 2006 तक इस्तेमाल किया गया था, न कि केवल हर डेवलपर यह घोषणा करने के लिए कुछ विकल्प अपने डेटा को पेश अपने कर्तव्य माना गया है।

वहाँ अभ्यास जब बुनियादी लिखा गया था कार्यक्रमों जैसे JSON का उपयोग नहीं करते में मामले थे, लेकिन पूरी तरह से भंडारण जोड़े "नाम = मूल्य" और उन्हें उपलब्ध सही समय पर एल्गोरिदम फिट करने के लिए बनाते हैं।

विशेष वर्ण ( «` »,« ~ »,« | », ...) और डेटा स्वरूप

साहचर्य सरणियों और जावास्क्रिप्ट में वस्तुओं के साथ काम करने की आदत उपयोग JSON प्राकृतिक और आरामदायक बनाता है। यह वास्तव में एक महान प्रारूप है, लेकिन साझा करते हैं और कनेक्ट करने के लिए, तार और सरणियों जोड़ तोड़ की क्षमता है, बहुत गहरे जड़ है।

कार्य में शामिल होने / विभाजित जावास्क्रिप्ट भाषा और फटना / विस्फोट PHP भाषा XML डेटा प्रारूप, JSON, और अपने स्वयं के संस्करण के रूप में उपयोग करने के लिए सुविधाजनक और कुशल अनुमति देता है। बाद अक्सर इष्टतम है, और पहले दो सामान्य उपयोग के विकल्प के लिए आदर्श हैं। यदि यह एक और डेवलपर, सर्वर से जानकारी के संचरण, एक फ़ाइल या डेटाबेस, एक्सएमएल के लिए है और JSON लगाने के लिए बेहतर नहीं है। वे सब काम करते हैं, क्योंकि संचरण / जानकारी के स्वागत टिप्पणी की जरूरत नहीं है।

एंड्रॉयड में JSON का उपयोग करना

एंड्रॉयड में JSON प्रारूप में डाटा पढ़ने एवं लिखने - न केवल बातों के आदर्श, लेकिन यह भी वस्तुओं का एक सेट, इस तरह के डेटा स्वरूप के साथ काम करने के लिए उन्मुख।

कई सामाजिक नेटवर्किंग साइटों की अभूतपूर्व सफलता का श्रेय ताकि सदस्यों और उन साइटों (फेसबुक, लिंक्डइन, ट्विटर, ...) सामग्री वहाँ प्रकाशित से लाभ के आगंतुकों।

यह JSON करने के लिए इसे इस्तेमाल करता है। शायद यह सही है, लेकिन सवाल अभूतपूर्व सामाजिक नेटवर्क में नहीं है, लेकिन तथ्य यह है कि वास्तव में "नाम = मूल्य" के प्रारूप में सूचना के प्रावधान के प्रोग्रामिंग के लिए सुविधाजनक है, और उपयोग के लिए। सख्त और complexed «एक्सएमएल» यह के विपरीत वास्तव में मानव के अनुकूल प्रारूप है।

साहचर्य सरणियों

यह बहुत चर वर्णित है कि किया जाना चाहिए (जावास्क्रिप्ट) या यहां तक कि एक शुरुआत के मूल्य (PHP) निर्दिष्ट हुआ। दोनों ही मामलों में, चर अपने प्रकार बदल सकते हैं बहुत आसान है। यदि आवश्यक हो, भाषा स्वचालित रूप से इस रूपांतरण करता है।

लेकिन क्यों चर परिवर्तन नहीं और उसके नाम एल्गोरिथ्म के प्रदर्शन में प्रकट नहीं होता और गायब नहीं होता है जब यह के लिए की जरूरत गायब हो जाएगा? साहचर्य सरणियों हमें इस समस्या को हल करने की अनुमति है, लेकिन फिर और सरणी के इस तरह के एक अपेक्षाकृत गतिशील चर नाम उचित वाक्य रचना के उपयोग के उपयोग के बिंदु पर का पालन करेंगे।

यह विशेष रूप से PHP में स्पष्ट तथ्य है, लेकिन इस के रूप में, वास्तव में, सहन किया जा सकता चर नाम के प्रतीक "$" और ऑब्जेक्ट के अंदर "$ this->" के संयोजन के साथ,। इसके साथ ही जावास्क्रिप्ट और PHP में प्रोग्रामिंग, पहले वास्तव में चकित कैसे सब कुछ अलग है, लेकिन फिर सब कुछ इतना परिचित और प्राकृतिक हो जाता है ...

साहचर्य सरणी -> JSON

इस उदाहरण में, PHPOffice / PHPWord पुस्तकालय द्वारा एक दस्तावेज * .docx बनाता है, और aProperties की एक सरणी दस्तावेज़ गुण (लेखक, कंपनी, शीर्षक, श्रेणी, तिथि, ...) शामिल हैं।

दूसरी सरणी पृष्ठ पर डेटा शामिल हैं:

  • समन्वयन (लैंडस्केप या सामान्य);
  • क्षैतिज और खड़ी आयाम;
  • इंडेंट (क्षेत्र, बाएँ ऊपर, नीचे, दाएं);
  • पाद।

दस्तावेज़ का गठन एक पुस्तकालय PHPOffice / PHPWord चलाने वाले किसी सर्वर पर किया जाता है। साइट जावास्क्रिप्ट के माध्यम से इन सरणियों के प्रबंधन के मूल्यों प्रदान करता है। परिणाम अपने डिजाइनों में सर्वर को वापस JSON में लौट आता है और PHP में एल्गोरिदम में इस्तेमाल किया जाता है कि यह सरणियों में है।

गतिशील चर

JSON प्रारूप गतिशील चर की समस्या का हल। यहाँ आप बनाएं, बदलें, और अनावश्यक वाक्य-बवासीर के बिना चर हटा सकते हैं। यह सुंदर लग रहा है और जावास्क्रिप्ट में प्रयोग किया जाता है।

इस उदाहरण में GetOjInfo () वस्तु के मूल्य और महत्व के नाम का चयन करता है। नाम, उम्र और काम: शुरू में JSON स्ट्रिंग वस्तु एक चर ojInfo को सौंपा गया है, यह तीन तत्व है। एक छोटी सी बाद में चर स्थिति को जोड़ा गया।

पहले ऑपरेटर के बाद ojInfo स्ट्रिंग को नष्ट तत्व उम्र खो देता है, दूसरा हटाए जाने के बाद - तत्व काम करते हैं। अगर हम यह मान स्ट्रिंग चर है कि वास्तव में बनाएं, संशोधित या सर्जिकल क्षेत्र (सिंटेक्स) और जावास्क्रिप्ट वर्णन भाषा संसाधन से बाहर उनके सेट के किसी भी हटा सकते हैं JSON के माध्यम से, एक विशेष अर्थ है की एक चयन किया है।

इस तरह के एक विकल्प पर JSON प्रारूप नहीं बनाया गया था, लेकिन यह संभव व्यावहारिक और सुविधाजनक है।

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 hi.delachieve.com. Theme powered by WordPress.