Google'a kısa bir göz attıktan sonra , sözdizimi açısından farkı açıklayan bu bağlantıyı buldum .
Bir programlama senaryosunda biri diğerine ne zaman tercih edilir?
Google'a kısa bir göz attıktan sonra , sözdizimi açısından farkı açıklayan bu bağlantıyı buldum .
Bir programlama senaryosunda biri diğerine ne zaman tercih edilir?
Yanıtlar:
Android'de JSON verileriyle çalışırken JSONArray
, dizi parantezleriyle başlayan JSON'u ayrıştırmak için kullanırsınız . JSON'daki diziler, ilgili öğelerin bir koleksiyonunu düzenlemek için kullanılır (Bunlar, JSON nesneleri olabilir).
Örneğin:[{"name":"item 1"},{"name": "item2} ]
Öte yandan, JSONObject
kaşlı ayraçlarla başlayan JSON ile çalışırken kullanırsınız . JSON nesnesi, genellikle bir öğeyle ilgili anahtar / değer çiftlerini içermek için kullanılır. Örneğin:{"name": "item1", "description":"a JSON object"}
Elbette, JSON dizileri ve nesneleri iç içe olabilir. Bunun yaygın bir örneği, sorgunuzla eşleşen öğeler dizisinin yanı sıra bazı meta verileri içeren bir JSON nesnesi döndüren bir API'dir:
{"startIndex": 0, "data": [{"name":"item 1"},{"name": "item2"} ]}
Fark, (Karma) Harita ve Liste ile aynıdır.
JSONObject:
{ID : 1}
{id: 1, name: 'B'}
öğesinin şuna eşittir {name: 'B', id: 1}
.JSON Dizisi:
[1, 'value']
[1,'value']
aynı değil['value',1]
Misal
JSON Object --> { "":""}
JSON Array --> [ , , , ]
{"employees":[
{"firstName":"John", "lastName":"Doe"},
{"firstName":"Anna", "lastName":"Smith"},
{"firstName":"Peter", "lastName":"Jones"}
]}
Programlı Olarak En İyi Anlama.
sözdizimi olduğunda
{}
buJsonObject
sözdizimi olduğunda
[]
buJsonArray
A JSONObject
, .NET Framework öğesinde bir öğe olarak temsil edilebilen JSON benzeri bir nesnedir JSONArray
. JSONArray
bir (veya birçok) içerebilirJSONObject
Umarım bu size yardımcı olur!
Ben her zaman nesne kullanırım, daha kolay genişletilebilir, JSON dizisi değil. Örneğin, başlangıçta bir json dizisi olarak bazı verileriniz vardı, sonra üzerine bir durum başlığı eklemeniz gerekiyordu, verileri bir nesneye yerleştirmediğiniz sürece biraz sıkışmış olacaksınız. Tek dezavantaj, oluşturma / ayrıştırma karmaşıklığındaki hafif bir artıştır.
Yani yerine
[datum0, datum1, datumN]
Sahip olurdun
{data: [datum0, datum1, datumN]}
sonra daha fazlasını ekleyebilirsiniz ...
{status: "foo", data: [datum0, datum1, datumN]}
Bunu daha kolay bir şekilde anlamak için, JSON nesnesi ile JSON dizisi arasındaki farklar aşağıdadır:
Tablo Farklılığına Bağlantı: https://i.stack.imgur.com/GIqI9.png
JSON Dizisi
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 Nesnesi
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.
Bir JSON, {} ile başladığında, bir Object JSON nesnesidir ve [] ile başladığında bir Dizidir JOSN Array Dizisidir
Bir JSON dizisi bir / çok nesneden oluşabilir ve bu bir dizi nesne olarak adlandırılır
Biliyorum, önceki yanıtların tümü sorunuz için fikir veriyor. Bu SO iş parçacığını bulmadan sadece bir dakika önce bu kafa karışıklığını senden çok sevdim. Bazı yanıtları okuduktan sonra şunu elde ederim: JSONObject, JSONArray dizisinde bir öğe olarak temsil edilebilen JSON benzeri bir nesnedir. Başka bir deyişle, bir JSONArray bir (veya birçok) JSONObject içerebilir.