天天看点

JSON对象和字符串之间的相互转换

比如我有两个变量,我要将a转换成字符串,将b转换成JSON对象:

<a href="http://www.css88.com/archives/3919#viewSource">view source</a>

<code>1</code>

<code>var</code> <code>a={</code><code>"name"</code><code>:</code><code>"tom"</code><code>,</code><code>"sex"</code><code>:</code><code>"男"</code><code>,</code><code>"age"</code><code>:</code><code>"24"</code><code>};</code>

<code>2</code>

<code> </code> 

<code>3</code>

<code>var</code> <code>b=</code><code>'{"name":"Mike","sex":"女","age":"29"}'</code><code>;</code>

在Firefox,chrome,opera,safari,ie9,ie8等高级浏览器直接可以用JSON对象的stringify()和parse()方法。

JSON.stringify(obj)将JSON转为字符串。JSON.parse(string)将字符串转为JSON格式;

上面的转换可以这么写:

<code>01</code>

<code>02</code>

<code>03</code>

<code>04</code>

<code>05</code>

<code>var</code> <code>aToStr=JSON.stringify(a);</code>

<code>06</code>

<code>07</code>

<code>var</code> <code>bToObj=JSON.parse(b);</code>

<code>08</code>

<code>09</code>

<code>alert(</code><code>typeof</code><code>(aToStr));  </code><code>//string</code>

<code>10</code>

<code>11</code>

<code>alert(</code><code>typeof</code><code>(bToObj));</code><code>//object</code>

JSON.stringify()

ie8(兼容模式),ie7和ie6可以使用eval()将字符串转为JSON对象,

<code>var</code> <code>c=</code><code>'{"name":"Mike","sex":"女","age":"29"}'</code><code>;</code>

<code>var</code> <code>cToObj=eval(</code><code>"("</code><code>+c+</code><code>")"</code><code>);</code>

<code>alert(</code><code>typeof</code><code>(cToObj));</code>

继续阅读