2016-06-13 5 views
0

私はファイルとしてデータを保存する必要がある(JavaScript/JQuery)プロジェクトに取り組んでいます。データが格納されている文字列として配列データをテキストファイルに保存する最も良い方法は?

は、私はちょうどそれを文字列として格納し、再度データのロードの「」に基づいて、文字列を分割することになる可能性があるため、通常は問題ではないであろう配列です。しかし、私が格納する必要がある配列は、配列のいくつかの層を持つ他のデータ配列の配列です。

私の初期の思想は、データの各アレイを分離するために、各エントリの間に最低レベルで始まる文字列に各配列に変換する機能を実行して、識別子のいくつかの並べ替え(例えば、「/////」)を追加することです分割機能を検出するために使用します。これにより、データの格納/ロードが非常に複雑になり、Javascriptで複数の配列データを保存するより良い方法があるのだろうかと思いました。

+2

を使用します(これを読んだ後)は、ファイル内の文字列をデコード変換し、その後

var json_string = JSON.stringify(my_array); 

:これは、ファイルに保存することができた文字列を返します。次いで、単一のオブジェクトまたは配列オブジェクトの、その上に[JSON.stringify(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify)を実行します。その文字列の結果をファイルに保存します。処理を逆にしてオブジェクト/オブジェクト配列を元に戻します(JSON.parseを使用して文字列をオブジェクトに戻します)。 – Igor

+0

JSON.stringifyを使用してJSON.parseをデシリアライズすることができますが、JSONを配列に変換して文字列にシリアル化してファイルに保存することができます。 –

答えて

1

あなたは文字列に、マルチレベルの配列を変換するJSON.stringifyを使用することができます。そしてJSON.parseを使用して配列に戻すことができます。文字列を取得したら、保存して復元し、これらのメソッドを使用して配列を再作成することができます。

a = [1, 2, [3, 4, [5, 6, [7, 8], 9]]] 
> [1, 2, Array[3]] 

s = JSON.stringify(a) 
> "[1,2,[3,4,[5,6,[7,8],9]]]" 

a2 = JSON.parse(s) 
> [1, 2, Array[3]] 
2

これでも文字列として保存できますが、シリアル化はJSONのようになります。 JSON(エンコード)に変換し

JSON.stringifyを使用します。あなたに保存したいすべてのものをJSON.parse

var my_array = JSON.parse(json_string); 
関連する問題