JSONObject और JSONArray के बीच अंतर


99

Google पर संक्षिप्त रूप से देखने के बाद मुझे यह लिंक मिला जो अंतर का वर्णन करता है, फिर भी एक वाक्यविन्यास बिंदु से।

प्रोग्रामिंग परिदृश्य में दूसरे पर कब प्राथमिकता दी जाएगी?

जवाबों:


186

जब आप एंड्रॉइड में JSON डेटा के साथ काम कर रहे हैं, तो आप JSONArrayJSON को पार्स करने के लिए उपयोग करेंगे जो सरणी कोष्ठक से शुरू होता है। JSON में Arrays का उपयोग संबंधित वस्तुओं के संग्रह को व्यवस्थित करने के लिए किया जाता है (जो JSON ऑब्जेक्ट्स हो सकते हैं)।
उदाहरण के लिए:[{"name":"item 1"},{"name": "item2} ]

दूसरी ओर, आप JSONObjectJSON के साथ काम करते समय उपयोग करेंगे जो कि घुंघराले ब्रेस के साथ शुरू होता है। एक JSON ऑब्जेक्ट का उपयोग आम तौर पर एक आइटम से संबंधित कुंजी / मान जोड़े रखने के लिए किया जाता है। उदाहरण के लिए:{"name": "item1", "description":"a JSON object"}

बेशक, JSON सरणियों और वस्तुओं को एक दूसरे के अंदर रखा जा सकता है। इसका एक सामान्य उदाहरण एक एपीआई है जो एक JSON वस्तु देता है जिसमें कुछ मेटाडेटा होता है जिसमें आपकी क्वेरी से मेल खाते आइटम की एक सरणी होती है:

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

4
{"startIndex": 0, [{"name": "item 1"}, {"name": "item2"}]} न तो कोई jsonbject है और न ही jsonArray मैंने इसे संपादित किया है
Sarath Sadadivan Pillai

101

अंतर एक (हैश) मानचित्र बनाम सूची के समान है।

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

A JSONObjectएक JSON जैसी वस्तु है जिसे एक तत्व के रूप में दर्शाया जा सकता है JSONArrayJSONArray(या कई) शामिल हो सकते हैंJSONObject

आशा है कि यह आपके लिए उपयोगी होगा!


7

मैं हमेशा ऑब्जेक्ट का उपयोग करता हूं, यह अधिक आसानी से विस्तार योग्य है, JSON सरणी नहीं है। उदाहरण के लिए, आपके पास मूल रूप से एक json सरणी के रूप में कुछ डेटा था, तब आपको उस पर एक स्थिति शीर्षलेख जोड़ने की आवश्यकता थी, जब तक आप किसी ऑब्जेक्ट में डेटा को नेस्टेड न कर दें, तब तक आप थोड़ा अटके रहेंगे। एकमात्र नुकसान सृजन / पार्सिंग की जटिलता में मामूली वृद्धि है।

इसलिए इसके बजाय

[datum0, datum1, datumN]

आपके पास होगा

{data: [datum0, datum1, datumN]}

फिर बाद में आप और जोड़ सकते हैं ...

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

5

इसे आसान तरीके से समझने के लिए, JSON ऑब्जेक्ट और JSON सरणी के बीच अंतर निम्नलिखित हैं:

सारणी अंतर से लिंक: https://i.stack.imgur.com/GIqI9.png

जोंस ऐरे

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 सरणी में # 5 के तहत, क्या यह उदाहरण वर्ग कोष्ठक में नहीं होना चाहिए?
माइक मैक्सवेल

वह उदाहरण सिर्फ अवधारणा को समझाने के लिए था। हालांकि मैंने बेहतर समझ के लिए उदाहरण बदल दिया है। @MikeMaxwell पूछने के लिए धन्यवाद, आपके जैसे प्रश्न हमारे स्पष्टीकरण कौशल में सुधार करते हैं।
एसएएम

1

जब एक JSON {} से शुरू होता है, तो यह एक ऑब्जेक्ट JSON ऑब्जेक्ट है और जब यह [] से शुरू होता है, तो यह एक Array JOSN Array है

JSON सरणी में / कई ऑब्जेक्ट शामिल हो सकते हैं और इसे ऑब्जेक्ट की एक सरणी कहा जाता है


0

मुझे पता है, पिछले सभी उत्तर आपके प्रश्न के लिए व्यावहारिक हैं। मैं भी आप इस भ्रम की तरह था तो यह एसओ धागा खोजने से एक मिनट पहले। कुछ उत्तरों को पढ़ने के बाद, यहां मुझे जो मिलता है: एक JSONObject एक JSON जैसी वस्तु है जिसे सरणी में एक तत्व के रूप में दर्शाया जा सकता है, JSONArray। दूसरे शब्दों में, एक JSONArray में एक (या कई) JSONObject हो सकता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.