একটি মৌলিক বিষয় সম্পর্কে এই জাতীয় উচ্চ-দেখা প্রশ্নের উপর উচ্চ-উত্সাহিত ভুল তথ্য উপস্থিতির কারণে আমি হতবাক হয়েছি।
JSON স্ট্রিং একক উদ্ধৃতি দিয়ে উদ্ধৃত করা যাবে না । বৈশিষ্টটির বিভিন্ন সংস্করণ ( ডগলাস ক্রকফোর্ডের মূল , ইসিএমএ সংস্করণ এবং আইইটিএফ সংস্করণ ) সমস্ত স্ট্রিংয়ে স্ট্রিংগুলি অবশ্যই ডাবল কোট দিয়ে উদ্ধৃত করা উচিত। এটি কোনও তাত্ত্বিক সমস্যা নয় বা গৃহীত উত্তর হিসাবে বর্তমানে মতামতের বিষয় নয়; আপনি যদি একটি একক-উদ্ধৃত স্ট্রিংটিকে পার্স করার চেষ্টা করেন তবে আসল বিশ্বের কোনও জেএসএন পার্সার ত্রুটিযুক্ত হয়ে যাবে।
ক্রকফোর্ড এবং ইসিএমএর সংস্করণ এমনকি একটি সুন্দর ছবি ব্যবহার করে একটি স্ট্রিংয়ের সংজ্ঞা প্রদর্শন করে, যা বিষয়টিকে দ্ব্যর্থহীনভাবে পরিষ্কার করে তুলবে:
সুন্দর ছবিটি একটি JSON স্ট্রিংয়ের মধ্যে বৈধ অব্যাহতি সিকুয়েন্সগুলিরও সমস্ত তালিকাবদ্ধ করে:
\"
\\
\/
\b
\f
\n
\r
\t
\u
ফোর-হেক্স-অঙ্কের পরে
মনে রাখবেন, এখানে অন্য কয়েকটি উত্তরের বোকা বিপরীতে, \'
কখনও JSON স্ট্রিংয়ে কোনও বৈধ পালানোর অনুক্রম নয়। এটি হওয়ার দরকার নেই, কারণ JSON স্ট্রিংগুলি সর্বদা ডাবল-কোটেড থাকে।
শেষ অবধি, প্রগতিগতভাবে JSON উত্পন্ন করার সময় আপনার নিজের চরিত্রগুলি থেকে বাঁচার বিষয়ে সাধারণত চিন্তা করা উচিত নয় (যদিও অবশ্যই আপনি ম্যানুয়ালি সম্পাদনা করার সময় বলবেন, একটি JSON- ভিত্তিক কনফিগারেশন ফাইল থাকবে)। পরিবর্তে, আপনার ভাষা যে জাতীয় নেভিগেশন মানচিত্র, অ্যারে, স্ট্রিং, সংখ্যা, বুলিয়ান এবং নাল ধরন ব্যবহার করে এনকোড করতে চান সেই ডেটা স্ট্রাকচারটি তৈরি করুন এবং তারপরে JSON-encoding ফাংশন সহ এটি JSON এ এনকোড করুন। এই জাতীয় ফাংশন সম্ভবত আপনি জাভাস্ক্রিপ্ট JSON.stringify
, পিএইচপি json_encode
বা পাইথনের মতো যে কোনও ভাষা ব্যবহার করছেন intojson.dumps
। যদি আপনি এমন কোনও ভাষা ব্যবহার করছেন যা এর মধ্যে যেমন কার্যকরীতা অন্তর্নির্মিত না থাকে তবে আপনি সম্ভবত কোনও JSON পার্সিং এবং এনকোডিং লাইব্রেরিটি ব্যবহার করতে পারেন। আপনি যদি JSON এ এবং থেকে জিনিসগুলিকে রূপান্তর করতে কেবল ভাষা বা গ্রন্থাগার ফাংশন ব্যবহার করেন তবে আপনাকে জেএসওনের পালানোর নিয়মগুলি কখনও জানতে হবে না। এখানে বিভ্রান্ত প্রশ্নোত্তরকারীকে করা উচিত ছিল।