23

多くのグーグルと髪の毛を引っ張っているにもかかわらず、私は一生の間、json、オブジェクト、および配列(javascript)の違いを明確にすることはできません。以下は、私が2次元データコンテナーをどのように使用してきたかです(ここでは「配列」、「オブジェクト」、または「json」という単語を使用することを恐れています)。この2つの例を教えてください。

//first example:
[
    {"record_id":1,"name":"Frank"},
    {"record_id":2,"name":"Sally"}
]

//second example:
{
"countries": 
    [
    {"id":1,"name":"Canada"},
    {"id":2,"name":"Mexico"}
    ],
"states":
    [
    "id":1,"name":"Maine"},
    {"id":2,"name":"Alaska"}
    ]
}
4

5 に答える 5

60

JSONはデータ構造の表現であり、オブジェクトや配列ではありません。

[1,2,3]

は配列です。

{"foo":"bar"}

オブジェクトです。

あなたの例では、

[
  {"record_id":1,"name":"Frank"},
  {"record_id":2,"name":"Sally"}
]

オブジェクトの配列です。

{
  "countries": 
    [
      {"id":1,"name":"Canada"},
      {"id":2,"name":"Mexico"}
    ],
  "states":
    [
      {"id":1,"name":"Maine"},
      {"id":2,"name":"Alaska"}
    ]
}

その中に他の配列とオブジェクトを含むオブジェクトです。

于 2012-10-06T21:56:44.460 に答える
10

JSONJavaScript Object Notationです。これは、JavaScriptデータ型を書き留める方法にすぎません。それ自体はデータ型ではありません。

JavaScriptデータ型のいくつかの例と、それらを作成するためのリテラル表記については、以下を参照してください。

たとえば、JavaScriptは通常のJavaScriptデータ構造に簡単に解析できるため、JSONを使用してサーバーからブラウザーにデータを送信できます。

この例では、オブジェクトのリストとオブジェクトのオブジェクトを使用しています。

これは、3つの空のオブジェクトのリストです。

[{}, {}, {}]

これは、3つの単純なレコードのリストです。

var mylist = [
    {name: 'John', age: 24},
    {name: 'Bill', age: 42},
    {name: 'Jill', age: 18},
    ]

次のようにアクセスできます。

mylist[1].name
>>> 'Bill'

mylist[2].age
>>> 18

JavaScriptにはいくつかのデータ型があります。

番号

1
100
-2000
123.45

"Hi John"
"Message:\nGo Forth"

ブール値

true
false

配列

[1,2,3]
[]
["a", "b", 123]
["a", "b", 123, [3,4,5]]

物体

{}
{a: 10}
{mylist: [1,2,3], yourlist: [4,5,6]}
{myself: {name: 'me', age: 10}, yourself: {name: 'you', age: 20}}
于 2012-10-06T22:09:22.007 に答える
6

{中括弧を使用して、オブジェクトリテラル}を宣言します。

[角かっこを使用して、配列リテラル]を宣言します。

オブジェクトは、キー名と値のペアのコレクションです。

文字列の配列の例を次に示します。

var a = [ "one", "two", "three" ];

人を表す単純なオブジェクトの例を次に示します。

var personObject = {
    name: 'Joe',
    age: 25,
    hometown: 'New York'        
};
于 2012-10-06T22:06:02.307 に答える
1

JSONはテキストデータ交換形式です。その名前(「JavaScript Object Notation」)が示すように、JSに由来します。つまり、JSONは実際には構文的に有効なJavaScriptです。つまり、JSON文字列をJSコードに直接貼り付けることができます。

配列は特別なオブジェクトです。それらはによって構築することができます[]

オブジェクトはを介して構築できます{}

したがって、この例にあるのは2つのJSON文字列です。1つはオブジェクトの配列を表し、もう1つはプロパティ自体がオブジェクトの配列であるオブジェクトを表します。

于 2012-10-06T22:09:30.493 に答える
0

配列ができないのに、オブジェクトはメソッドとプロパティを持つことができると私は信じています。JSONは、POSTで文字列として渡さない限り、配列を渡すことはできませんが、サーバーに渡すことができます。

于 2012-10-06T21:58:04.727 に答える