2016-04-18 1 views
0

私はこのようなjqueryの配列があります。私は、ブラウザのクッキーにこれを保存したいブラウザクッキーにjquery配列を保存するには?

[1: "0", 2: "0,1,2,3"] 

を。しかし、私が知る限り、文字列はブラウザのクッキーに保存することができます。だから、私はこのjqueryの配列を文字列に変換してからクッキーに保存しなければなりません。これを行う方法はありますか?

+3

['JSON.stringify'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify)、[' JSON.parse'](https:// developer .mozilla.org/ja-JP/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse)私はここにどこかにJavaScriptの文字列にデータ構造をシリアル化するための良い複製があると思います... – apsillers

+0

JavaScriptの[クッキー配列]の可能な複製(http://stackoverflow.com/questions/8163815/cookie-array -in-javascript) –

+0

[私はJavascript配列をCookieとして保存したい]の重複している可能性があります(http://stackoverflow.com/questions/2980143/i-want-to-store-javascript-array-as-a-cookie ) – snovelli

答えて

0

クッキーには文字列しか格納できません。したがって、配列をJSON文字列に変換する必要があります。 JSONライブラリをお持ちの場合は、単にJSON.stringify(データ)を使用してCookieに保存し、$ .parseJSON(データ)を使用して文字列を解除することができます。最後に

、あなたのコードは次のようになります。

var data = [ 
    { 'name' : 'Abel', 'age' : 1 }, 
    { 'name' : 'Bella', 'age' : 2 }, 
    { 'name' : 'Chad', 'age' : 3 }, 
]; 

$.cookie("data", JSON.stringify(data)); 
// later on if you need to add any element... 
var data = $.parseJSON($.cookie("data")); 
data.push(
    { 'name' : 'Daniel', 'age' : 4 } 
); 
$.cookie("data", JSON.stringify(data)); 
0

[1: "0"、2: "0,1,2,3" は]これは、配列ではなく、それは間違って書き込みです; {1: "0"、2: "0,1,2,3"}あなたはこのように書いた場合、あなたはこのように行うことができますので、それはオブジェクトは、次のとおりです。

var target = {1: "0", 2: "0,1,2,3"}; 
 
for(let name in target){ 
 
    document.cookie = name + "=" + target[name]; 
 
}

関連する問題