web-dev-qa-db-ja.com

JavaScriptでの配列のシリアル化と非シリアル化

Jqueryのtag-itライブラリを使用して、タグ付けシステム(stackoverflowのようなもの)を作成しています。

ユーザーがタグを入力すると、ライブラリは、MySQLデータベースに保存するjavascript配列を返します。 javascriptでシリアライズおよびアンシリアライズ関数が見つかりませんでした。

独自の関数をコーディングする前に、ここで車輪を再発明していないことを確認したいと思います。配列をデータベースに保存してから再び使用するネイティブな方法がないのはおかしいようです。

tl; dr => javascript配列をMySQLデータベースに保存して後で再利用するにはどうすればよいですか?

22
Lukmo

JavaScriptオブジェクトを文字列表現に変換するには、JSON.stringify()MDN doc )およびJSON.parse()MDN doc )を使用できます。データベース内に保存します。

_var arr = [ 1, 2, 3 ];

var serializedArr = JSON.stringify( arr );
// "[1, 2, 3]"

var unpackArr = JSON.parse( serializedArr );
// identical array to arr
_

バックエンドがPHPで記述されている場合、JSON文字列を使用する同様のメソッドがあります:json_encode()PHP doc )およびjson_decode()(- PHPドキュメント )。

他のほとんどの言語は、JSON文字列に対して同様の機能を提供します。

48
Sirko

JavaScript Object NotationJSON)形式を使用できます。

Javascriptはこれらのメソッドをサポートします:

  • JSON.stringify ->オブジェクトを文字列にシリアライズします

  • JSON.parse ->文字列からオブジェクトをデシリアライズします

7
Engineer

[〜#〜] json [〜#〜] ingだけではどうですか?

var arr = [1,2,3];
var arrSerialized = JSON.stringify(arr);
...

var arrExtracted = JSON.parse(arrSerialized);

ところで、JSONは、独自のシリアル化関数を持っている場合でも、他の言語でのシリアル化によく使用されます。 )

5
raina77ow