30

私はタグ付けシステム(stackoverflowのものに少し似ています)を作るためにjqueryのtag-itライブラリを使用しています。

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

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

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

4

3 に答える 3

62

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

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 docu)およびjson_decode()PHP docu)。

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

于 2012-07-03T13:34:08.017 に答える
7

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

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

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

  • JSON.parse- >オブジェクトを文字列から逆シリアル化します

于 2012-07-03T13:34:14.397 に答える
5

JSONを実行するだけではどうでしょうか。

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

var arrExtracted = JSON.parse(arrSerialized);

ちなみに、JSONは、独自のシリアル化機能を備えていますが、他の言語でのシリアル化によく使用されます。)。

于 2012-07-03T13:34:02.783 に答える