গুগলে সংক্ষিপ্ত নজর দেওয়ার পরে আমি এই লিঙ্কটি পেয়েছি যা পার্থক্য বর্ণনা করে, তবুও একটি সিনট্যাক্স দৃষ্টিকোণ থেকে।
প্রোগ্রামিং দৃশ্যে কখন একজনকে অন্যের চেয়ে পছন্দ করা হবে?
উত্তর:
আপনি যখন অ্যান্ড্রয়েডে জেএসএন ডেটা নিয়ে কাজ করছেন, আপনি JSONArray
জেএসএনকে পার্স করতে ব্যবহার করবেন যা অ্যারে বন্ধনী দ্বারা শুরু হয়। জেএসএন-এ অ্যারে সম্পর্কিত আইটেমগুলির সংকলন (যা জেএসএন বস্তু হতে পারে) সংগঠিত করতে ব্যবহৃত হয়।
উদাহরণ স্বরূপ:[{"name":"item 1"},{"name": "item2} ]
অন্যদিকে, আপনি JSONObject
যখন JSON এর সাথে কোঁকড়া ধনুর্বন্ধনী শুরু হয় তখন সেগুলি ব্যবহার করার সময় আপনি ব্যবহার করবেন । একটি JSON অবজেক্টটি সাধারণত কোনও আইটেমের সাথে সম্পর্কিত কী / মান জোড়া রাখতে ব্যবহৃত হয়। উদাহরণ স্বরূপ:{"name": "item1", "description":"a JSON object"}
অবশ্যই, জেএসএন অ্যারে এবং অবজেক্টগুলি একে অপরের অভ্যন্তরে বাসা বাঁধতে পারে। এর একটি সাধারণ উদাহরণ হ'ল একটি এপিআই যা আপনার প্রশ্নের সাথে মেলে এমন আইটেমির অ্যারের পাশাপাশি কিছু মেটাডেটা যুক্ত একটি জেএসওএন অবজেক্ট ফেরত দেয়:
{"startIndex": 0, "data": [{"name":"item 1"},{"name": "item2"} ]}
পার্থক্যটি হ্যাশ ম্যাপ বনাম তালিকার মতো।
JSONObject:
{ID : 1}
{id: 1, name: 'B'}
সমান {name: 'B', id: 1}
।JSONArray:
[1, 'value']
[1,'value']
হিসাবে একই হয় না['value',1]
উদাহরণ
JSON Object --> { "":""}
JSON Array --> [ , , , ]
{"employees":[
{"firstName":"John", "lastName":"Doe"},
{"firstName":"Anna", "lastName":"Smith"},
{"firstName":"Peter", "lastName":"Jones"}
]}
সেরা প্রোগ্রামগতভাবে বোঝা।
সিনট্যাক্স যখন হয়
{}
তখন এই হয়JsonObject
সিনট্যাক্স যখন হয়
[]
তখন এই হয়JsonArray
এ JSONObject
হ'ল জেএসওএন-এর মতো একটি বস্তু যা এর উপাদান হিসাবে প্রতিনিধিত্ব করতে পারে JSONArray
। JSONArray
একটি (বা অনেক) থাকতে পারেJSONObject
আশা করি এটি আপনার পক্ষে সহায়ক হবে!
আমি সর্বদা অবজেক্ট ব্যবহার করি, এটি আরও সহজেই প্রসারণযোগ্য, জেএসএন অ্যারে নেই। উদাহরণস্বরূপ আপনার কাছে জসন অ্যারে হিসাবে কিছু ডেটা ছিল, তারপরে আপনাকে এটিতে একটি স্ট্যাটাস শিরোনাম যুক্ত করার দরকার ছিল আপনি কিছুটা আটকে যাবেন, যদি না আপনি কোনও বস্তুর ডেটা নেস্ট করেন। একমাত্র অসুবিধা হ'ল সৃষ্টি / বিশ্লেষণের জটিলতায় কিছুটা বৃদ্ধি।
পরিবর্তে তাই
[datum0, datum1, datumN]
আপনি চাইতেন
{data: [datum0, datum1, datumN]}
তারপরে আপনি আরও যুক্ত করতে পারেন ...
{status: "foo", data: [datum0, datum1, datumN]}
এটি একটি সহজ উপায়ে বোঝার জন্য, নীচে JSON অবজেক্ট এবং জেএসএন অ্যারের মধ্যে পার্থক্য রয়েছে:
টবুলার পার্থক্যটির লিঙ্ক: https://i.stack.imgur.com/GIqI9.png
JSON অ্যারে
1. Arrays in JSON are used to organize a collection of related items
(Which could be JSON objects)
2. Array values must be of type string, number, object, array, boolean or null
3. Syntax:
[ "Ford", "BMW", "Fiat" ]
4. JSON arrays are surrounded by square brackets [].
**Tip to remember** : Here, order of element is important. That means you have
to go straight like the shape of the bracket i.e. straight lines.
(Note :It is just my logic to remember the shape of both.)
5. Order of elements is important. Example: ["Ford","BMW","Fiat"] is not
equal to ["Fiat","BMW","Ford"]
6. JSON can store nested Arrays that are passed as a value.
JSON অবজেক্ট
1. JSON objects are written in key/value pairs.
2. Keys must be strings, and values must be a valid JSON data type (string, number,
object, array, boolean or null).Keys and values are separated by a colon.
Each key/value pair is separated by a comma.
3. Syntax:
{ "name":"Somya", "age":25, "car":null }
4. JSON objects are surrounded by curly braces {}
Tip to remember : Here, order of element is not important. That means you can go
the way you like. Therefore the shape of the braces i.e. wavy.
(Note : It is just my logic to remember the shape of both.)
5. Order of elements is not important.
Example: { rollno: 1, firstname: 'Somya'}
is equal to
{ firstname: 'Somya', rollno: 1}
6. JSON can store nested objects in JSON format in addition to nested arrays.
যখন কোনও JSON শুরু করে {with এটি একটি অবজেক্ট JSON অবজেক্ট এবং যখন এটি শুরু হয় [] এটি একটি অ্যারে JOSN অ্যারে হয়
একটি জেএসওএন অ্যারেতে একটি / অনেকগুলি অবজেক্ট থাকতে পারে এবং এটিকে অবজেক্টের অ্যারে বলা হয়
আমি জানি, পূর্ববর্তী সমস্ত উত্তর আপনার প্রশ্নের অন্তর্দৃষ্টিপূর্ণ। এই এস থ্রেডটি সন্ধান করার এক মিনিট আগে আমারও এই বিভ্রান্তি হয়েছিল। কিছু উত্তর পড়ার পরে, আমি যা পেয়েছি তা এখানে: JSONObject একটি JSON- জাতীয় বস্তু যা অ্যারেতে JSONArray হিসাবে উপাদান হিসাবে উপস্থাপিত হতে পারে। অন্য কথায়, একটি JSONArray একটি (বা অনেক) JSONObject থাকতে পারে।
উভয়ের ব্যবহার আপনার ডেটা কাঠামোর উপর নির্ভর করতে পারে।
সহজভাবে, আপনি যদি কোনও প্রাথমিক কী হিসাবে কোনও অনন্য সনাক্তকারীকে অগ্রাধিকার দেওয়ার পরিকল্পনা করেন তবে আপনি নেস্টেড অবজেক্টস পদ্ধতির ব্যবহার করতে পারেন ।
যেমন:
{
"Employees" : {
"001" : {
"Name" : "Alan",
"Children" : ["Walker", "Dua", "Lipa"]
},
"002" : {
"Name" : "Ezio",
"Children" : ["Kenvey", "Connor", "Edward"]
}
}
অথবা, অ্যারের প্রথম পদ্ধতির ব্যবহার করুন যদি আপনি অনন্যভাবে সনাক্ত করার প্রয়োজন না করে মানগুলির একটি সেট সংরক্ষণ করতে চান।
যেমন:
[
{
"Employees":[
{
"Name" : "Alan",
"Children" : ["Walker", "Dua", "Lipa"]
},
{
"Name" : "Ezio",
"Children" : ["Kenvey", "Connor", "Edward"]
}
]
}
]
যদিও আপনি শনাক্তকারীর সাহায্যে দ্বিতীয় পদ্ধতিটি ব্যবহার করতে পারেন, কিছু পরিস্থিতিতে তাকে জিজ্ঞাসা করা এবং বোঝা শক্ত বা জটিল হতে পারে। ডাটাবেসের উপর নির্ভর করে যে কোনও একটি উপযুক্ত পদ্ধতির প্রয়োগ করতে পারে। যেমন: মঙ্গোডিবি / ফায়ারবেস