title: JSON encoded array converted to string when saved as cookie
body: <p>I have a simple array that I'm trying to JSON encode and set as a cookie. I am using the json2.js script to encode to JSON. I am using the following code to set the cookie:</p>
  
  <pre><code>jQuery(document).ready(function(){
      var ids = ['1', '2'];
      JSON.stringify(ids);
      setCookie(cookieName, ids, 1);
  });
  
  function setCookie(name,value,days) {
      if (days) {
          var date = new Date();
          date.setTime(date.getTime()+(days*24*60*60*1000));
          var expires = "; expires="+date.toGMTString();
      }
      else var expires = "";
      document.cookie = name+"="+value+expires+"; path=/";
  }
  </code></pre>
  
  <p>After converting the array to JSON, and logging it in console, I get:</p>
  
  <pre><code>["1", "2"]
  </code></pre>
  
  <p>which is what I would expect. I then read out the cookie with the following function</p>
  
  <pre><code>function getCookie(name) {
      var nameEQ = name + "=";
      var ca = document.cookie.split(';');
      for(var i=0;i &lt; ca.length;i++) {
          var c = ca[i];
          while (c.charAt(0)==' ') c = c.substring(1,c.length);
          if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
      }
      return null;
  }
  </code></pre>
  
  <p>When I read out the cookie and log it in the console, I get:</p>
  
  <pre><code>1,2
  </code></pre>
  
  <p>suggesting that its a string and no longer a JSON encoded object. I would like to be able to set a cookie an a JSON encoded object, read it out and parse the JSON object, and finally perform operations on the data. My question is thus, how do you send a JSON encoded object to the cookie in such a way that I can parse it as JSON when I read it out?</p>
  
  <p>Thanks as always!</p>