JSONObject এবং JSONArray এর মধ্যে পার্থক্য


100

গুগলে সংক্ষিপ্ত নজর দেওয়ার পরে আমি এই লিঙ্কটি পেয়েছি যা পার্থক্য বর্ণনা করে, তবুও একটি সিনট্যাক্স দৃষ্টিকোণ থেকে।

প্রোগ্রামিং দৃশ্যে কখন একজনকে অন্যের চেয়ে পছন্দ করা হবে?

উত্তর:


189

আপনি যখন অ্যান্ড্রয়েডে জেএসএন ডেটা নিয়ে কাজ করছেন, আপনি JSONArrayজেএসএনকে পার্স করতে ব্যবহার করবেন যা অ্যারে বন্ধনী দ্বারা শুরু হয়। জেএসএন-এ অ্যারে সম্পর্কিত আইটেমগুলির সংকলন (যা জেএসএন বস্তু হতে পারে) সংগঠিত করতে ব্যবহৃত হয়।
উদাহরণ স্বরূপ:[{"name":"item 1"},{"name": "item2} ]

অন্যদিকে, আপনি JSONObjectযখন JSON এর সাথে কোঁকড়া ধনুর্বন্ধনী শুরু হয় তখন সেগুলি ব্যবহার করার সময় আপনি ব্যবহার করবেন । একটি JSON অবজেক্টটি সাধারণত কোনও আইটেমের সাথে সম্পর্কিত কী / মান জোড়া রাখতে ব্যবহৃত হয়। উদাহরণ স্বরূপ:{"name": "item1", "description":"a JSON object"}

অবশ্যই, জেএসএন অ্যারে এবং অবজেক্টগুলি একে অপরের অভ্যন্তরে বাসা বাঁধতে পারে। এর একটি সাধারণ উদাহরণ হ'ল একটি এপিআই যা আপনার প্রশ্নের সাথে মেলে এমন আইটেমির অ্যারের পাশাপাশি কিছু মেটাডেটা যুক্ত একটি জেএসওএন অবজেক্ট ফেরত দেয়:

{"startIndex": 0, "data": [{"name":"item 1"},{"name": "item2"} ]}

4
start "স্টার্টইন্ডেক্স": 0, [name "নাম": "আইটেম 1"}, {"নাম": "আইটেম 2"}]} আমি এটি সম্পাদনা করেছি কোনও জাসনবজেক্ট বা জাসনআরাই নয়
সাদাসিভান

104

পার্থক্যটি হ্যাশ ম্যাপ বনাম তালিকার মতো।

JSONObject:

  • নামযুক্ত মানগুলি রয়েছে (কী-> মান জোড়া, টিপলস বা আপনি যেগুলি কল করতে চান)
    • পছন্দ {ID : 1}
  • উপাদান ক্রম গুরুত্বপূর্ণ নয়
    • একটি JSONObject এর {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"}
]}

4
এটি গুচ্ছের সবচেয়ে আকর্ষণীয় উত্তর
ডাইনামিক

24

সেরা প্রোগ্রামগতভাবে বোঝা।

সিনট্যাক্স যখন হয় {}তখন এই হয়JsonObject

সিনট্যাক্স যখন হয় []তখন এই হয়JsonArray

JSONObjectহ'ল জেএসওএন-এর মতো একটি বস্তু যা এর উপাদান হিসাবে প্রতিনিধিত্ব করতে পারে JSONArrayJSONArrayএকটি (বা অনেক) থাকতে পারেJSONObject

আশা করি এটি আপনার পক্ষে সহায়ক হবে!


7

আমি সর্বদা অবজেক্ট ব্যবহার করি, এটি আরও সহজেই প্রসারণযোগ্য, জেএসএন অ্যারে নেই। উদাহরণস্বরূপ আপনার কাছে জসন অ্যারে হিসাবে কিছু ডেটা ছিল, তারপরে আপনাকে এটিতে একটি স্ট্যাটাস শিরোনাম যুক্ত করার দরকার ছিল আপনি কিছুটা আটকে যাবেন, যদি না আপনি কোনও বস্তুর ডেটা নেস্ট করেন। একমাত্র অসুবিধা হ'ল সৃষ্টি / বিশ্লেষণের জটিলতায় কিছুটা বৃদ্ধি।

পরিবর্তে তাই

[datum0, datum1, datumN]

আপনি চাইতেন

{data: [datum0, datum1, datumN]}

তারপরে আপনি আরও যুক্ত করতে পারেন ...

{status: "foo", data: [datum0, datum1, datumN]}

6

এটি একটি সহজ উপায়ে বোঝার জন্য, নীচে 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.

# 5 এর অধীনে JSON অ্যারে, সেই উদাহরণটি বর্গাকার বন্ধনীগুলিতে হওয়া উচিত নয়?
মাইক ম্যাক্সওয়েল

সেই উদাহরণটি ছিল কেবল ধারণাটি ব্যাখ্যা করার জন্য। যদিও আমি আরও ভাল বোঝার জন্য উদাহরণটি পরিবর্তন করেছি। @ মাইকম্যাক্সওয়েল জিজ্ঞাসা করার জন্য ধন্যবাদ, আপনার মত প্রশ্ন আমাদের ব্যাখ্যা দক্ষতা উন্নত করে।
এসএএম

1

যখন কোনও JSON শুরু করে {with এটি একটি অবজেক্ট JSON অবজেক্ট এবং যখন এটি শুরু হয় [] এটি একটি অ্যারে JOSN অ্যারে হয়

একটি জেএসওএন অ্যারেতে একটি / অনেকগুলি অবজেক্ট থাকতে পারে এবং এটিকে অবজেক্টের অ্যারে বলা হয়


0

আমি জানি, পূর্ববর্তী সমস্ত উত্তর আপনার প্রশ্নের অন্তর্দৃষ্টিপূর্ণ। এই এস থ্রেডটি সন্ধান করার এক মিনিট আগে আমারও এই বিভ্রান্তি হয়েছিল। কিছু উত্তর পড়ার পরে, আমি যা পেয়েছি তা এখানে: JSONObject একটি JSON- জাতীয় বস্তু যা অ্যারেতে JSONArray হিসাবে উপাদান হিসাবে উপস্থাপিত হতে পারে। অন্য কথায়, একটি JSONArray একটি (বা অনেক) JSONObject থাকতে পারে।


0

উভয়ের ব্যবহার আপনার ডেটা কাঠামোর উপর নির্ভর করতে পারে।

সহজভাবে, আপনি যদি কোনও প্রাথমিক কী হিসাবে কোনও অনন্য সনাক্তকারীকে অগ্রাধিকার দেওয়ার পরিকল্পনা করেন তবে আপনি নেস্টেড অবজেক্টস পদ্ধতির ব্যবহার করতে পারেন ।

যেমন:

  {
     "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"]
               }
          ]
       }
   ]

যদিও আপনি শনাক্তকারীর সাহায্যে দ্বিতীয় পদ্ধতিটি ব্যবহার করতে পারেন, কিছু পরিস্থিতিতে তাকে জিজ্ঞাসা করা এবং বোঝা শক্ত বা জটিল হতে পারে। ডাটাবেসের উপর নির্ভর করে যে কোনও একটি উপযুক্ত পদ্ধতির প্রয়োগ করতে পারে। যেমন: মঙ্গোডিবি / ফায়ারবেস

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.