0

私は小さな説明を保存し、jqueryを使用してさまざまな時間にそれらをdivに呼び出そうとしています。50種類のデータがあります。情報を保存するための単純なjsonオブジェクトを作成すると思いました。javascriptでデータにアクセスするにはどうすればよいですか?

私はこれを試しましたが、まったく機能しません:

var myArray = JSON.parse(timeline_info);
var length = myArray.length;
alert(myArray.0[0]);

これが私のJSONです:

var timeline_info = {
    0 : [1972,lorem ipsum blablabla,video address,],
    1 : [1972,lorem ipsum blablabla,video address,],
    2 : [1972,lorem ipsum blablabla,video address,],
    3 : [1972,lorem ipsum blablabla,video address,],
    4 : [1972,lorem ipsum blablabla,video address,],
    5 : [1972,lorem ipsum blablabla,video address,],
    6 : [1972,lorem ipsum blablabla,video address,],
    7 : [1972,lorem ipsum blablabla,video address,],
    8 : [1972,lorem ipsum blablabla,video address,],
    9 : [1972,lorem ipsum blablabla,video address,],
}

何かご意見は?

4

3 に答える 3

3
  • timeline_infoJSONテキストではなく、JavaScriptオブジェクトリテラルです。
  • {}で表される配列ではなく、オブジェクトを示します[]
  • 配列またはオブジェクトの末尾にコンマを付けないでください。
  • 文字列は引用符で囲む必要があります。
  • 自動セミコロン挿入にはいくつかの落とし穴があります。避けてください。

データを順序付けました。配列リテラルを使用してください。

var i, timeline_info, length;
timeline_info = [
    [1972,"lorem ipsum blablabla","video address"],
    [1972,"lorem ipsum blablabla","video address"],
    [1972,"lorem ipsum blablabla","video address"],
    [1972,"lorem ipsum blablabla","video address"],
    [1972,"lorem ipsum blablabla","video address"],
    [1972,"lorem ipsum blablabla","video address"],
    [1972,"lorem ipsum blablabla","video address"],
    [1972,"lorem ipsum blablabla","video address"],
    [1972,"lorem ipsum blablabla","video address"],
    [1972,"lorem ipsum blablabla","video address"]
];

length = timeline_info.length;
for (i = 0; i < length; i++) {
    console.log(timeline_info[i][0]); // 1972, 10 times.
}
于 2012-07-07T12:04:28.367 に答える
1

それはJSONではありません。試す

var timeline_info = [
    {
        "year": 1972,
        "description": "lorem ipsum blablabla",
        "video": "video address"
    },
    {
        "year": 1972,
        "description": "lorem ipsum blablabla",
        "video": "video address"
    }
];

でアクセスしtimeline_info[0].yearます。

于 2012-07-07T12:06:48.583 に答える
0

ここにはいくつか欠けているものがあります。

  1. 文字列リテラルはすべて引用符で囲む必要があります。このような -
    [1972,'lorem ipsum blablabla','video address']

  2. 必要のない場所にコンマ文字を付けないでください。各配列エントリの最後に余分なコンマがあり、オブジェクトの最後の要素の後に余分なコンマがあります。


これは、オブジェクトをフォーマットする正しい方法です。

var timeline_info = {
    0 : [1970,'lorem ipsum blablabla','video address'],
    ...
    8 : [1978,'lorem ipsum blablabla','video address'],
    9 : [1979,'lorem ipsum blablabla','video address']
}

timeline_info[0][0]は戻り1970ます。

于 2012-07-07T12:07:08.087 に答える