Googleを少し見てみると、構文の観点からは違いを説明する link が見つかりました。
プログラミングシナリオで、一方が他方よりも優先されるのはいつですか?
AndroidでJSONデータを使用する場合、JSONArray
を使用して、配列括弧で始まるJSONを解析します。 JSONの配列は、関連するアイテムのコレクションを整理するために使用されます(JSONオブジェクトの場合もあります)。
例:[{"name":"item 1"},{"name": "item2} ]
一方、中括弧で始まるJSONを扱う場合は、JSONObject
を使用します。 JSONオブジェクトは通常、1つのアイテムに関連するキー/値のペアを含めるために使用されます。例:{"name": "item1", "description":"a JSON object"}
もちろん、JSON配列とオブジェクトは互いに入れ子にすることができます。この一般的な例の1つは、クエリに一致するアイテムの配列とともにいくつかのメタデータを含むJSONオブジェクトを返すAPIです。
{"startIndex": 0, "data": [{"name":"item 1"},{"name": "item2"} ]}
違いは(ハッシュ)マップとリストと同じです。
JSONObject:
{ID : 1}
など{id: 1, name: 'B'}
のJSONObjectは{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"}
]}
プログラムで最もよく理解できます。
構文が
{}
thenの場合、これはJsonObject
です構文が
[]
の場合、これはJsonArray
です
JSONObject
はJSONのようなオブジェクトであり、JSONArray
内の要素として表すことができます。 JSONArray
には、1つ(または複数)のJSONObject
を含めることができます
これがあなたのお役に立てば幸いです!
私は常にオブジェクトを使用します。より簡単に拡張できますが、JSON配列はそうではありません。たとえば、元々json配列としていくつかのデータがあった場合、オブジェクトにデータをネストしない限り、ステータスヘッダーを追加する必要があります。唯一の欠点は、作成/解析の複雑さがわずかに増加することです。
代わりに
[datum0, datum1, datumN]
あなたが持っているだろう
{data: [datum0, datum1, datumN]}
その後、さらに追加できます...
{status: "foo", data: [datum0, datum1, datumN]}
より簡単に理解するために、JSONオブジェクトと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.
以前の回答はすべて、あなたの質問に対する洞察に満ちています。このSOスレッドを見つけるわずか1分前に、私もこの混乱を抱えていました。いくつかの答えを読んだ後、ここに私が得るものがあります:JSONObjectはJSONArrayの配列の要素として表現できるJSONのようなオブジェクトです。多く)JSONObject。