জেএসওন নামকরণের কোনও মান আছে? আন্ডারস্কোর (লোয়ার_সেস) দ্বারা বিচ্ছিন্ন সমস্ত লোয়ার কেস ব্যবহার করে আমি বেশিরভাগ উদাহরণ দেখতে পাচ্ছি। তবে, আপনি কি পাস্কেলকেস বা উটকেস ব্যবহার করতে পারেন?
জেএসওন নামকরণের কোনও মান আছে? আন্ডারস্কোর (লোয়ার_সেস) দ্বারা বিচ্ছিন্ন সমস্ত লোয়ার কেস ব্যবহার করে আমি বেশিরভাগ উদাহরণ দেখতে পাচ্ছি। তবে, আপনি কি পাস্কেলকেস বা উটকেস ব্যবহার করতে পারেন?
উত্তর:
এখানে একটি আদর্শ মান নেই, তবে আমি আপনার উল্লেখ করা 3 টি শৈলী দেখেছি ("পাস্কাল / মাইক্রোসফ্ট", "জাভা" ( camelCase
) এবং "সি" (আন্ডারস্কোর, snake_case
)) - পাশাপাশি কমপক্ষে আরও একটি, kebab-case
পছন্দ করুন longer-name
)।
এটি বেশিরভাগই পরিষেবাটিতে ব্যাকগ্রাউন্ড বিকাশকারীদের কীসের উপর নির্ভর করে বলে মনে হয়; সি / সি ++ ব্যাকগ্রাউন্ডযুক্ত (বা যে ভাষাগুলি একই নামকরণ গ্রহণ করে, যার মধ্যে অনেকগুলি স্ক্রিপ্টিং ভাষা, রুবি ইত্যাদি রয়েছে) প্রায়শই আন্ডারস্কোর বৈকল্পিক চয়ন করে; এবং একইভাবে বিশ্রাম করুন (জাভা বনাম। নেট)। উদাহরণস্বরূপ জ্যাকসন গ্রন্থাগারটি জাভা শিমের নামকরণ কনভেনশন ধরে নিল ( camelCase
)
আপডেট: আমার "স্ট্যান্ডার্ড" সংজ্ঞাটি একটি একক সম্মেলন। সুতরাং যখন কেউ "হ্যাঁ, অনেকগুলি মান আছে" দাবি করতে পারে তবে আমার কাছে একাধিক রয়েছে Naming Conventions
, যার একটিও সামগ্রিকভাবে "দ্যা" স্ট্যান্ডার্ড নয়। এর মধ্যে একটি নির্দিষ্ট প্ল্যাটফর্মের জন্য স্ট্যান্ডার্ড হিসাবে বিবেচনা করা যেতে পারে, তবে জেএসওএন প্ল্যাটফর্মগুলির মধ্যে আন্তঃব্যবহারের জন্য ব্যবহৃত হয় যা খুব বেশি অর্থবোধ করতে পারে বা নাও পারে।
এই দস্তাবেজে গুগল জেএসএন স্টাইল গাইড (গুগলে জেএসএন এপিআই তৈরির জন্য সুপারিশ),
এটি সুপারিশ করে যে:
সম্পত্তির নাম অবশ্যই উট কেসড , এএসসিআইআই স্ট্রিং থাকতে হবে ।
প্রথম অক্ষরটি অবশ্যই একটি অক্ষর, আন্ডারস্কোর (_) বা ডলার চিহ্ন ($) হতে হবে।
উদাহরণ:
{
"thisPropertyIsAnIdentifier": "identifier value"
}
আমার দল এই সম্মেলনটি অনুসরণ করে।
Property Name Guidelines->Property Name Format->Choose meaningful property names.
।
নেই তাদেরকে JSON মধ্যে কি কোন মান নামকরণ । অনুমানের অবজেক্টস বিভাগ অনুসারে :
JSON সিনট্যাক্স নাম হিসাবে ব্যবহৃত স্ট্রিংগুলিতে কোনও বিধিনিষেধ আরোপ করে না ...
যার অর্থ উট কেস বা সাপ_কেস ভাল কাজ করা উচিত।
একটি JSON নামকরণ কনভেনশন চাপিয়ে দেওয়া খুব বিভ্রান্তিকর। যাইহোক, আপনি যদি এটি উপাদানগুলিতে বিভক্ত করেন তবে সহজেই এটি নির্ণয় করা যায়।
জেএসএন উত্পন্ন করার জন্য প্রোগ্রামিং ভাষা
জেএসএনে নিজেই কীগুলির কোনও মানক নামকরণ নেই
JSON পার্স করার জন্য প্রোগ্রামিং ভাষা
জাভা প্রবেশকারীদের সাথে স্নাপকেস এখনও তাত্পর্যপূর্ণ হবে কারণ জাভা জন্য বিদ্যমান জেএসএন লাইব্রেরিগুলি স্ট্যান্ডার্ড ডট.সাইনট্যাক্স ব্যবহার না করে কীগুলি অ্যাক্সেস করার জন্য কেবলমাত্র পদ্ধতি ব্যবহার করছে । এর অর্থ এটি যে অন্যান্য প্রোগ্রামিং ভাষার সাথে ডট.সাইনট্যাক্স করতে পারে তার তুলনায় জাভা সর্পযুক্ত কীগুলি অ্যাক্সেস করতে খুব বেশি ক্ষতি করবে না ।
জাভা প্যাকেজ জন্য উদাহরণorg.json
JsonObject.getString("snake_cased_key")
জাভা প্যাকেজ জন্য উদাহরণcom.google.gson
JsonElement.getAsString("snake_cased_key")
আপনার JSON বাস্তবায়নের জন্য সঠিক JSON নামকরণ কনভেনশন চয়ন করা আপনার প্রযুক্তি স্ট্যাকের উপর নির্ভর করে। এমন কেস রয়েছে যেখানে কেউ স্নাপকেস , উট কেস বা অন্য কোনও নামকরণ কনভেনশন ব্যবহার করতে পারে ।
আরেকটি বিষয় বিবেচনা করার জন্য হ'ল JSON- জেনারেটর বনাম JSON- পার্সার এবং / অথবা ফ্রন্ট-এন্ড জাভাস্ক্রিপ্টের ওজন রাখতে হবে। সাধারণভাবে, বেশি ওজন জেএসএন-পার্সার পার্শ্বের চেয়ে জেএসএন-জেনারেটরের দিকে লাগানো উচিত। এটি কারণ ব্যবসায়িক যুক্তি সাধারণত JSON- জেনারেটরের দিকে থাকে।
এছাড়াও, যদি JSON- পার্সার দিকটি অজানা থাকে তবে আপনি কখনই আপনার পক্ষে কাজ করতে পারে তা আপনি ঘোষণা করতে পারেন।
"Person":
উট কেস নয় :)
বিশেষত নোডজেএস-এ আমার জন্য, যদি আমি ডেটাবেসগুলি নিয়ে কাজ করি এবং আমার ক্ষেত্রের নামগুলি আন্ডারস্কোর দ্বারা পৃথক করা হয় তবে আমি সেগুলি স্ট্রাক কীগুলিতেও ব্যবহার করি।
এটি কারণ, ডিবি ক্ষেত্রগুলিতে প্রচুর সংক্ষিপ্ত শব্দ / সংক্ষিপ্ত বিবরণ রয়েছে তাই অ্যাপসএনএসআইন্টারফেস আরআরটেষ্টের মতো কিছুটা অগোছালো দেখাচ্ছে তবে অ্যাপ_স্নেস_ইন্টারফেস_আরআর_স্টেস্টটি দুর্দান্ত ।
জাভাস্ক্রিপ্টের ভেরিয়েবলগুলিতে সমস্ত উট কেস এবং শ্রেণীর নাম (কনস্ট্রাক্টর) প্রপাপকেস হয়, তাই আপনি এর মতো কিছু দেখতে পাবেন
var devTask = {
task_id: 120,
store_id: 2118,
task_name: 'generalLedger'
};
অথবা
generalLedgerTask = new GeneralLedgerTask( devTask );
এবং অবশ্যই জেএসএন-তে কী / স্ট্রিংগুলি ডাবল উদ্ধৃতিতে আবৃত থাকে, তবে তারপরে আপনি কেবল JSON.stringify ব্যবহার করেন এবং জেএস বস্তুগুলিতে পাস করেন, সুতরাং এটি সম্পর্কে উদ্বিগ্ন হওয়ার দরকার নেই।
আমি JSON এবং জেএস নামকরণ কনভেনশনের মধ্যে এই খুশি মাধ্যমটি না পাওয়া পর্যন্ত আমি এটিকে কিছুটা লড়াই করেছি।
org.json
, gson
। স্নাপকেস ডেটা প্রাপ্তি তেমন আঘাত করে না ...JSONObject.get('snake_case_key_here')
দেখে মনে হচ্ছে যে পর্যাপ্ত প্রকরণ রয়েছে যে সমস্ত কনভেনশন থেকে অন্যকে রূপান্তর করতে লোকেরা তাদের পথে চলে যায়: http://www.cowtowncoder.com/blog/archives/cat_json.html
উল্লেখযোগ্যভাবে, উল্লিখিত জ্যাকসন জেএসন পার্সার পছন্দ করেন bean_naming
।
beanNaming
।
আমি মনে করি JSON- তে কোনও আনুষ্ঠানিক নামকরণের সম্মেলন নেই, তবে এটি কীভাবে কাজ করছে তা দেখতে আপনি কিছু শিল্প নেতাদের অনুসরণ করতে পারেন।
গুগল, যা বিশ্বের অন্যতম বৃহত্তম আইটি সংস্থা, এর একটি জেএসওএন স্টাইল গাইড রয়েছে: https://google.github.io/styleguide/jsoncstyleguide.xml
সুবিধা গ্রহণ করে আপনি অন্যান্য স্টাইলের গাইড খুঁজে পেতে পারেন, যা গুগল এখানে সংজ্ঞায়িত করেছে: https://github.com/google/styleguide
অন্যরা যেমন বলেছে যে এর কোনও মান নেই তাই আপনার নিজের একটি বেছে নেওয়া উচিত। এটি করার সময় এখানে কয়েকটি বিষয় বিবেচনা করতে হবে:
আপনি যদি JSON গ্রহনের জন্য জাভাস্ক্রিপ্ট ব্যবহার করছেন তবে উভয়ের বৈশিষ্ট্যের জন্য একই নামকরণ কনভেনশনটি ভিজ্যুয়াল ধারাবাহিকতা এবং সম্ভবত ক্লিনার কোড পুনরায় ব্যবহারের জন্য কিছু সুযোগ সরবরাহ করবে।
কাবাব-কেস এড়ানোর জন্য একটি ছোট কারণ হিফেনগুলি ভ্যালুতে -
প্রদর্শিত অক্ষরের সাথে দৃষ্টিভঙ্গি হতে পারে ।
{
"bank-balance": -10
}