কম্পিউটারপ্রোগ্রামিং

JSON বিন্যাস: বিবরণ, উদাহরণ

ভেরিয়েবল, অ্যারে এবং বস্তু তথ্য প্রতিনিধিত্ব একটি পরিচিত এবং সুবিধাজনক ফর্ম। এটি জাভাস্ক্রিপ্ট ব্রাউজার ভাষায় ডেটা বর্ণনা করার প্রথাগত, যা PHP সার্ভার ভাষাতে প্রয়োজনীয় নয় JSON ফরম্যাটটি প্রোগ্রামিং ভাষাতে ফোকাস করতে নয় এবং তাদের একটিকে সাধারণীকরণ করা সম্ভব করে তোলে। এই ক্ষেত্রে, তথ্য জোড়ায় পরিণত হয়: "name = value" তাদের প্রতিটি মান এছাড়াও এই ধরনের জোড়া একটি সংগ্রহ হতে পারে।

এটি কোঁকড়া ধনুর্বন্ধনী এবং জাভাস্ক্রিপ্ট বস্তুর সাথে JSON সংযুক্ত করার প্রথাগত। পরেরটি সম্পূর্ণরূপে ন্যায্য, JSON = অবজেক্ট নোটেশন জাভাস্ক্রিপ্ট ফরম্যাট থেকে। গত বিশেষ করে গতিশীল বছরগুলিতে অনেক পরিবর্তন হয়েছে। কি একটি নির্দিষ্ট উদ্দেশ্য জন্য তৈরি করা হয়েছিল, প্রায়ই অপ্রত্যাশিত ফল আনা বা নতুন দিগন্ত খোলা।

ডেটা এক্সচেঞ্জ: ব্রাউজার - সার্ভার

AJAX প্রযুক্তি ঐতিহ্যবাহী হয়ে উঠেছে, সমগ্র পৃষ্ঠার স্বাভাবিক আপডেট জনপ্রিয় হতে চলেছে। একটি পরিদর্শক, যখন একটি সাইট খোলার সময় আংশিক ডেটা এক্সচেঞ্জের একটি সিরিজ শুরু হয়, যখন এক বা অন্য পৃষ্ঠা কেবলমাত্র প্রাসঙ্গিক স্থানে পরিবর্তিত হয়।

এটি বিশ্বাস করা হয় যে AJAX এর উদ্ভব AJAX ব্যবহারের কারণে হয়, কিন্তু প্রকৃতপক্ষে, জাভাস্ক্রিপ্টের অ্যাসোসিয়েটেড অ্যারে এবং এর অবজেক্ট নোটেশন (বস্তুর বর্ণনা এবং ব্যবহার করার সিনট্যাক্স) ব্রাউজার এবং সার্ভারের মধ্যে ডেটা এক্সচেঞ্জের চেয়ে JSON এর সাথে আরও ঘনিষ্ঠভাবে সম্পর্কিত।

যেহেতু আধুনিক সাইটের পৃষ্ঠাগুলির বিষয়বস্তু সত্যিই "বিশাল" (ভলুমেট্রিক) হয়ে উঠেছে, তখন ডাটা এক্সচেঞ্জের জন্য ফরম্যাটের দক্ষতা বিশেষ তাত্পর্য অর্জন করেছে। এটা বলা যাবে না যে JSON একটি নতুন ডেটা উপস্থাপনা হয়ে উঠেছে, তবে এটি দীর্ঘকাল ধরে জাভাস্ক্রিপ্ট সিনট্যাক্সের একটি উপাদান অপরিহার্য।

ভেরিয়েবলের নামকরণে সিরিলিক ব্যবহার করা খুবই অপ্রত্যাশিত ঘটনা (অর্থহীন), কিন্তু এটি এক্সপ্লোরার এক্সপ্লোরার 11-তে ক্রোম, ফায়ারফক্সের সর্বশেষ ভার্সনে কাজ করে।

সিরিলিক এবং JSON

অবশ্যই, এটি একেবারে অপ্রত্যাশিত ঘটনাটি ব্যবহার করে মূল্যবান নয়, মনে রাখবেন রাশিয়ান অক্ষরগুলিতে লেখা ভেরিয়েবলের মানগুলি ক্র্যাকোজাইবিতে পরিবর্তিত হয়: বিশেষ করে বাহ্যিক নামগুলি সম্পর্কে বলতে কি আছে।

এটি সন্দেহজনক যে সিরিলিক নামগুলির উদ্যোগ ব্রাউজারের বহিরাগত পরিবেশ দ্বারা সমর্থিত হবে, যার সাথে তিনি ক্রমাগতভাবে মোকাবেলা করতে হবে। কিন্তু এই সত্যটি সাধারণ কারণটির প্রতি মনোযোগ আকর্ষণ করে যে JSON বিন্যাসটি নাম লেখার ক্ষমতা এবং বিকাশকারী যেভাবে চায় সেগুলির মূল্য নির্ধারণ করে। এটি গুরুত্বপূর্ণ কারণ প্রতিটি কাজের মধ্যে অ্যাপ্লিকেশন এলাকার বর্ণনাটি প্রয়োজনীয়তার জন্য এটি ডিবাগিংকে সহজ করে দেয় এবং ত্রুটিগুলির সংখ্যা হ্রাস করে।

এটি সিনেটactic উদ্ভাবনের JSON ভিত্তিক ছিল কি কোন ব্যাপার না, এটি একটি আইনি অধিকার এবং একটি ম্যাচ করা একটি বাস্তব সুযোগ দিয়েছেন যে গুরুত্বপূর্ণ: "কোন নাম = কোন মান।"

আমরা জাভাস্ক্রিপ্ট ভাষাতে শ্রদ্ধা প্রদান করতে হবে: সিনট্যাক্স দ্বারা কী সরবরাহ করা হয়, বিকাশকারীকে উপকার করে না এবং তার উপর কিছু চাপিয়ে দেয় না। ডেভেলপাররা তাদের ব্যবহার করার জন্য ডাটা মডেলের সর্বোত্তম গঠনের জন্য অ্যালগরিদম এবং ভাষার জন্য সিনট্যাক্স ব্যবহার করে।

পিএইচপি এবং JSON

JSON বিন্যাসে ডেটা গ্রহণ, সার্ভার (বিশেষ করে পিএইচপি মাধ্যমে) তাদের মত প্রক্রিয়া করার ক্ষমতা প্রদান করে এবং অনুরূপ ফরম্যাটে ফলাফল ফিরে ব্রাউজারে ফিরে আসে। পিএইচপি উৎস অ্যারে:

  • $ CJSON = অ্যারে ("একটি" => "আলফা", "বি" => "বিটা", "জি" => "গামা")।

ব্রাউজারে স্থানান্তর করার জন্য JSON এ রূপান্তর করুন:

  • $ CJS = json_encode ($ cJSON )।

ফলাফল:

  • {"এ": "আলফা", "বি": "বিটা", "জি": "গামা"}।

ফটোতে দেখানো ঘাড়টি অনুমোদিত।

এখানে অ্যারেটি স্বয়ংক্রিয়ভাবে "0" এর সাথে একটি "নতুন" উপাদান যুক্ত করেছে, এবং তারপর নির্দিষ্ট সূচক "z" এর সাথে।

বিপরীত ফাংশন, json_decode (), একটি পিএইচপি অ্যারেতে JSON স্ট্রিংকে রূপান্তর করে। অনুরূপ ফলাফল পিএইচপি ফাংশন manipulating দ্বারা অর্জন করা সম্ভব: implode () এবং বিস্ফোরণ ()। কিছু ক্ষেত্রে, এই বিকল্পটি প্রযোজ্য।

নেস্টিং স্তর

উপাদানগুলি ব্রাউজারের পাশে এবং সার্ভারের পাশে একে অপরের কাছে অবস্থিত হতে পারে। প্রথাগতভাবে, JSON বিন্যাস (RFC 4627 এর বর্ণনা) ঘনঘন দ্বারা 4 টির বেশি উল্লেখযোগ্যভাবে প্রদান করে, তবে আপনাকে এই বৈশিষ্ট্যটি অপব্যবহার করা উচিত নয়।

এটা যুক্তিযুক্ত পর্যায়ে অতিক্রম করা কখনই সর্বোত্তম নয়, এটি কোডটি পাঠযোগ্য করে তোলে, অন্য ডেভেলপারদের দ্বারা তার ডিবাগিং এবং বোঝার সহজ করে দেয়।

JSON সাধারণত ডেটা স্ট্রাকচারগুলি বোঝায় যা এক্সএমএল থেকে সহজ হয়, একসাথে মানুষ এবং কম্পিউটার দ্বারা বোঝা যায় এটি সত্য যখন তথ্য পরিমাণ ছোট এবং বিকাশকারীর স্তরটি নিখুঁতভাবে নির্বাচিত হয়েছে। অন্য সকল ক্ষেত্রে, বন্ধনীর সংখ্যা গণনা করা এবং ডেটা কাঠামো বোঝা ব্রাউজারের পাশে এবং সার্ভারের পাশে উভয়ই কঠিন।

JSON ফাইলগুলি

অনুশীলনের মধ্যে JSON ব্যবহার প্রায়ই একটি অ্যাক্সেসযোগ্য ছোট লাইন সীমাবদ্ধ নয়। কোন তথ্য গঠন সবসময় প্রগামিক। এই ক্ষেত্রে, JSON বাস্তব কার্য তথ্য (এন্টারপ্রাইজ কর্মী) এবং অস্থায়ী তথ্য (বস্তু ক্যাশে) বাস্তবায়নে উভয়ই কার্যকরভাবে প্রয়োগ করতে পারে।

এন্টারপ্রাইজ কর্মী এবং JSON- বিন্যাস: উদাহরণস্বরূপ

সাধারণত একজন ব্যক্তির একটি রেকর্ড হয় একটি উপনাম, প্রথম নাম, বাপ্পী, জন্মের বছর, বিশেষত্ব, শিক্ষা, ... এবং আরো কয়েকটি সহজ অর্থ। এমনকি বিশেষ করে চাহিদা কোম্পানীর ক্ষেত্রে, এক ব্যক্তির রেকর্ড একটি ডজন বা দুই ক্ষেত্র অতিক্রম করবে না। এটি উপলব্ধিযোগ্য এবং এটি একটি ডাটাবেস লাইনে স্থাপন করা যেতে পারে।

যদি কোম্পানির বেশ কিছু লোক থাকে, তবে এটি এক জিনিস, কিন্তু যদি হাজার হাজার লোক সম্পূর্ণ ভিন্ন হয়। আপনি ডাটাবেস ব্যবহার চালিয়ে যেতে পারেন, তবে এটি একটি ফাইল হিসাবে সংরক্ষণ করা আরও কার্যকরী এবং ব্যবহারের জন্য আরো অ্যাক্সেসযোগ্য দেখায়।

JSON ফাইল ফরম্যাট একটি প্লেইন টেক্সট ফাইল। স্টাফ তালিকা সহ কেস, যেখানে এটি গিয়েছিলাম। আপনি সবসময় এটা পড়তে পারেন। খোলা এবং সম্পাদনা যে কোনো টেক্সট এডিটরতে পাওয়া যায় যা ফাইলের বিষয়বস্তুতে তার পরিষেবা তথ্য যোগ করার অভ্যাস নেই। সাধারনত, * .json ব্রাউজারের ভিতরে এবং ফাইলের ভিতরে একটি বিশুদ্ধ টেক্সট - একটি স্ট্রিং।

ছবিটি ছবিটি তৈরি করে এমন বস্তুর ক্যাশে দেখায়, একটি উদাহরণ।

এটি মগ এবং সিরামিক পণ্যগুলিতে একটি রঙের ভলিউম্যাট্রিক মুদ্রণ পরিষেবা সরবরাহকারী একটি সাইট দ্বারা উত্পন্ন একটি ফাইলের একটি উদাহরণ। স্বাভাবিকভাবেই, এটি সত্যিই আপনি এটি খুলতে চেয়ে যেমন একটি JSON বিন্যাস আছে কিনা তা নির্ধারণ করতে সমস্যাযুক্ত। যাইহোক, এই এবং অনুরূপ ক্ষেত্রে ফাইল পড়ার সাথে কোন সমস্যা নেই: পিএইচপি ফাইলটি পড়ে, এটি প্যাড করে ব্রাউজারে পাঠায়। পরিদর্শক দ্বারা পরিবর্তিত ডেটা সার্ভারে ফেরত পাঠানো হয়েছে এবং রেকর্ড করা হয়েছে।

এই ক্ষেত্রে, ফাইলটি একটি ভেরিয়েবল হিসাবে কাজ করে যা কোডের বাইরে সংরক্ষণ করা হয়। প্রয়োজনীয় যদি, পরিবর্তনশীল ফাইল থেকে একটি মান পায়, এবং যদি এটি সাইট দ্বারা প্রদত্ত সংলাপ পরিদর্শক দ্বারা পরিবর্তিত হয়, তারপর সমস্ত পরিবর্তন যেমন হিসাবে রেকর্ড করা হবে। ফাইলের বিষয়বস্তু পড়তে ও পরীক্ষা করার কোন প্রয়োজন নেই।

JSON প্রায়ই পরিষেবা তথ্য সংরক্ষণ এবং ব্যবহার করার জন্য ব্যবহার করা হয় - এটি একটি কর্মী তালিকা নয়, বিকাশকারী বা সাইট পরিদর্শক দ্বারা এটি দেখতে প্রয়োজন হয় না।

XML এবং JSON

"সবকিছুই তার সময়" - প্রোগ্রামিং এর আবির্ভাবের আগেই সসিওমের জন্য ক্লাসিক্যাল জ্ঞান গৃহীত হয়েছিল। "কিছুই ঠিক মত প্রদর্শিত হয় না" - একটি ব্যক্তি একটি কৃত্রিম ভাষা প্রথম বুদ্ধিমান প্রোগ্রাম লিখেছিলেন আগে এটি ছিল।

তথ্য বিন্যাস বাস্তব প্রয়োজন থেকে প্রদর্শিত হয় এবং প্রাপ্ত জ্ঞান উপর ভিত্তি করে। এইচটিএমএল এর নিজস্ব পাথ আছে, এক্সএমএল এর নিজস্ব রাস্তা আছে, এবং JSON হল জাভাস্ক্রিপ্ট অবজেক্ট লজিক অন্যান্য ভাষায় প্রসারিত। অন্যের সাথে তুলনা করা সেরা জিনিস নয়। প্রতিটি তার নিজের

এক্সএমএল অলৌকিকভাবে তার কাজের সাথে মোকাবেলা এবং ইতিহাসে যেতে স্পষ্টভাবে যাচ্ছে না। এবং JSON এমনকি 2006 আগে ব্যবহার করা হয়েছিল, এটা ঠিক যে প্রত্যেক ডেভেলপার তার ডেটা উপস্থাপনের কিছু বৈকল্পিক ঘোষণা তার দায়িত্ব বিবেচনা করে না।

মৌলিক প্রোগ্রাম বেসিক যেমন JSON ব্যবহার করে না, কিন্তু পুরোপুরি "নাম = মান" জোড়া সঞ্চয় এবং সঠিক সময় তাদের সঠিক অ্যালগরিদম দিতে হয় যখন বেসিক প্রোগ্রাম লেখা ছিল।

বিশেষ অক্ষর ("` "," ~ "," | ", ...) এবং ডেটা বিন্যাস

সাহসী অ্যারে এবং জাভাস্ক্রিপ্ট বস্তুগুলির সাথে কাজ করার অভ্যাসটি JSON প্রাকৃতিক এবং সুবিধাজনক ব্যবহার করে। এটি সত্যিই একটি মহান বিন্যাস, কিন্তু বিভক্ত এবং একত্রীকরণ, স্ট্রিং এবং অ্যারে manipulating ক্ষমতা, পর্যন্ত গভীর শিকড় আছে

জাভাস্ক্রিপ্ট ল্যাঙ্গুয়েজ / বিভাজন ফাংশন এবং পিএইচপি ল্যাঙ্গুয়েজ / বিস্ফোরিতকরণ এক্সএমএল ডাটা বিন্যাস, JSON এবং আপনার নিজের সংস্করণ উভয়ই ব্যবহারযোগ্য এবং কার্যকর। আধুনিক প্রায়ই অনুকূল হয়, এবং প্রথম দুটি সাধারণ ব্যবহারের জন্য আদর্শ। অন্য ডেভেলপার, সার্ভার, ফাইল বা ডেটাবেস, এক্সএমএল এবং JSON তে তথ্য স্থানান্তর হলে ভাল হয় না। তাদের সব কাজ দিয়ে, কারণ তথ্যের সংক্রমণ / অভ্যর্থনা মন্তব্য প্রয়োজন হয় না

অ্যান্ড্রয়েড এ JSON ব্যবহার করে

অ্যান্ড্রয়েডের JSON ফরম্যাটে ডেটা পড়ার এবং লেখালেখি কেবল জিনিসগুলির আদর্শ নয়, তবে এই ডেটা ফর্ম্যাটের সাথে কাজ করার জন্য অনেকগুলি বস্তু রয়েছে।

অনেকে সামাজিক নেটওয়ার্কগুলির অসাধারণ সাফল্যের সাথে সহযোগিতা করে যেগুলি প্রাসঙ্গিক সাইটগুলিতে সদস্য এবং দর্শক (ফেসবুক, লিঙ্কডইন, টুইটার, ...) এখানে প্রকাশিত উপকরণ থেকে উপকার লাভ করে।

এই ক্ষেত্রে, JSON বিন্যাস ব্যবহার করা হয়। সম্ভবত এই সত্য, কিন্তু প্রশ্ন সামাজিক নেটওয়ার্ক এর অসাধারণ প্রকৃতি নয়, কিন্তু যে ফরম্যাট "নাম = মান" মধ্যে তথ্য উপস্থাপনা প্রোগ্রামিং এবং ব্যবহারের জন্য উভয় সুবিধাজনক। কঠোর এবং জটিল "XML" থেকে ভিন্ন, এটি সত্যিই একটি মানব-বন্ধুত্বপূর্ণ ফর্ম্যাট।

সহযোগী অ্যারে

এটি ভেরিয়েবল বর্ণনা করা উচিত (জাভাস্ক্রিপ্ট) বা কমপক্ষে প্রাথমিক মান (পিএইচপি) নির্দিষ্ট করুন। উভয় ক্ষেত্রে, পরিবর্তনশীল খুব সহজেই তার ধরন পরিবর্তন করতে পারে। প্রয়োজন হলে, এই রূপান্তরটি স্বয়ংক্রিয়ভাবে রূপান্তর করে।

কিন্তু কেন ভ্যারিয়েবলটি তার নাম পরিবর্তন করে না, অ্যালগরিদম নির্বাহের সময় প্রদর্শিত হয় না এবং অদৃশ্য হয় না, যখন এটির জন্য প্রয়োজন অদৃশ্য হয়ে যাবে? অ্যাসোসিয়েটিভ অ্যারে এই সমস্যার সমাধান করতে পারবেন, তবে এই ধরনের অপেক্ষাকৃত ডায়নামিক ভেরিয়েবল ব্যবহার করে, অ্যারে নাম এবং সংশ্লিষ্ট সিনট্যাক্টিক নির্মাণগুলি তাদের অ্যাপ্লিকেশনের স্থানগুলি অনুসরণ করবে।

বিশেষ করে এই পরিস্থিতিতে পিএইচপি তে স্পষ্টভাবে প্রকাশ করা হয়, তবে এটি ভেরিয়েবলের "$" চিহ্ন এবং বস্তুটির ভিতরে "$ this->" সংমিশ্রনে প্রতীয়মান হতে পারে। জাভাস্ক্রিপ্ট এবং পিএইচপি মধ্যে একই সময়ে প্রোগ্রামিং, প্রথম এটি আসলে কিভাবে আশ্চর্যজনক কিভাবে সবকিছু ভিন্ন, কিন্তু তারপর সবকিছু তাই পরিচিত এবং প্রাকৃতিক ...

অ্যাসোসিয়েটিভ অ্যারে -> JSON

এই উদাহরণে, একটি * .docx নথি পিএইচপি অফিস / পিএইচপিওয়ার লাইব্রেরির সাহায্যে তৈরি করা হয় এবং এপ্রিপার্টি অ্যারে এই নথির (লেখক, কোম্পানী, শিরোনাম, বিভাগ, সৃষ্টির তারিখ ...) বৈশিষ্ট্যগুলি অন্তর্ভুক্ত করে।

দ্বিতীয় সারির পৃষ্ঠার তথ্য রয়েছে:

  • ওরিয়েন্টেশন (আড়াআড়ি বা প্রচলিত);
  • একটি উল্লম্ব এবং অনুভূমিক উপর মাপ;
  • ইন্টেন্টগুলি (বাম দিকের ক্ষেত্র, উপরে থেকে, নীচে থেকে, ডানদিকে);
  • শিরোনাম এবং পাদলেখ

এই ডকুমেন্টটি সার্ভারে তৈরি করা হয়েছে যেখানে পিএইচপি অফিস / পিএইচপিওয়ার লাইব্রেরি ইনস্টল করা আছে। এই সাইটটি জাভাস্ক্রিপ্টের মাধ্যমে এই অ্যারেগুলির মানগুলি পরিচালনা করে। JSON ফর্ম্যাটের ফলাফলটি সার্ভারে ফেরত পাঠানো হয় এবং এটি পিএইচপি অ্যালগরিদমগুলিতে ব্যবহৃত হয়।

ডাইনামিক ভেরিয়েবল

JSON ফরম্যাট ডায়নামিক ভেরিয়েবলের সমস্যা সমাধান করে। এখানে আপনি অপ্রয়োজনীয় সিনট্যাক্স পিলস ছাড়া ভেরিয়েবল তৈরি, পরিবর্তন, এবং মুছে ফেলতে পারেন। এটি সুন্দর দেখায় এবং জাভাস্ক্রিপ্ট ব্যবহার করা হয়।

এই উদাহরণে, GetOjInfo () ফাংশন বস্তুর থেকে মান নাম এবং মান নির্বাচন করে। প্রাথমিকভাবে, ojInfo ভেরিয়েবলের জন্য নির্ধারিত JSON স্ট্রিং বস্তুটি তিনটি উপাদান: নাম, বয়স এবং কাজ। একটু পরে, পরিবর্তনশীল স্থিতি যোগ করা হয়।

প্রথম মুছে ফেলার বিবরণের পরে, ojInfo স্ট্রিং দ্বিতীয় উপাদান মুছে ফেলার পরে, বয়স উপাদান হারায়, কাজ উপাদান। এই লাইন একটি নির্দিষ্ট অর্থ আছে এমন ভেরিয়েবলের একটি সংকলন অনুমান করে, তারপর JSON এর মাধ্যমে আপনি আসলে জাভাস্ক্রিপ্ট ভাষা বর্ণনা এবং প্রক্রিয়া করার অপারেশন ক্ষেত্র (সিনট্যাক্স) এর বাইরে তাদের কোনও সেট তৈরি, সংশোধন এবং মুছে ফেলতে পারেন।

এই বিকল্পের জন্য JSON বিন্যাস গণনা করা হয় নি, কিন্তু এটি সম্ভব, বাস্তব এবং সুবিধাজনক।

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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