3

JSON の経験があまりないので、このようなことが可能かどうか知りたいです。

{
    "variable": "A really long value that will take up a lot of space if repeated",

    "array": [variable, variable, variable]
}

明らかにそれは有効ではありませんが、これを行う方法があるかどうか知りたいです。「変数」を使用してみましたが、もちろん、配列項目を文字列「変数」に設定するだけです。これを行う理由は、多次元配列で長い値を繰り返す必要があるためです。これは多くのスペースを占有します。

ありがとう。

4

4 に答える 4

2

JSON を解析した後に後処理を行う場合は、配列でトークン値を使用し、解析後にトークンを変数に置き換えることができます。例:

{
    "variable": "A really long value",
    "array": ["variable", "variable", "variable"]
}

次に、解析するコードで:

var obj = JSON.parse(str);
for (var i=0; i<obj.array.length; i++)
{
    obj.array[i] = obj[obj.array[i]];
}
于 2013-02-27T05:46:31.087 に答える
2

出力または JSON から作成されたオブジェクトのスペースが心配ですか? 後者の場合、解析が行われるときに文字列値が結合される可能性があります。

JSON のサイズが気になる場合は、別の形式に変更するか、JSON 内の文字列の重複を排除することをお勧めします。

ID 番号を文字列にマップするオブジェクトを JSON データに追加し、ID を使用して文字列を表すことができます。

于 2013-02-27T06:04:10.470 に答える
0

純粋な JSON でこれを行う方法はありません (完全な仕様はこちら)。

そのようなことをしたい場合は、Handlebarsなどのテンプレート ツールを検討することをお勧めします。

于 2013-02-27T05:43:47.460 に答える
0

you will get your answer here jason tutorial for beginners

example:
  var data={
    "firstName":"Ray",
    "lastName":"Villalobos",
    "joined":2012
  };
于 2013-02-27T05:45:03.947 に答える