网站推广.NET

网站推广.NET

js中json对象和字符串相互转化操作实例

来源:互联网

本文主要和大家介绍js中json对象和字符串的理解及相互转化操作实现方法,结合实例形式分析了json对象与字符串的功能以及相互转换操作实现技巧,需要的朋友可以参考下,希望能帮助到大家。


<script> var str="{&#39;strv&#39;:["+       "{&#39;a&#39;:&#39;a11&#39;},"+       " {&#39;a&#39;:&#39;b222&#39;}"+     " ]}"; //如果放在一行更清楚:var str="{&#39;strv&#39;:[{&#39;a&#39;:&#39;a11&#39;}, {&#39;a&#39;:&#39;b222&#39;} ]}"; var str2=eval(&#39;(&#39;+str+&#39;)&#39;);// alert(str2.strv[1].a); var jsonob={&#39;jsonv&#39;:[         {&#39;j&#39;:&#39;j111&#39;},         {&#39;j&#39;:&#39;j222&#39;}       ]};//如果放在一行更清楚:var jsonob={&#39;jsonv&#39;:[ {&#39;j&#39;:&#39;j111&#39;}, {&#39;j&#39;:&#39;j222&#39;} ]};// alert(jsonob.jsonv[1].j); /*var  str="{&#39;strv&#39;:[{&#39;a&#39;:&#39;a11&#39;}, {&#39;a&#39;:&#39;b222&#39;} ]}";var jsonob={&#39;jsonv&#39;:[ {&#39;j&#39;:&#39;j111&#39;}, {&#39;j&#39;:&#39;j222&#39;} ]};这样我们可以看出json对象和字符串是不一样的!字符串就是字符串,json对象是一个对象。虽然其内容都是我们看到的json格式,但是两者是有区别的。我们想取出其中某个属性的值,其实是对json对象操作的(你能取出对象的属性值,但不能取出字符串的属性值,字符串没属性。)。所以如果你拿到的是对象,那你就直接可以取值了,例如jsonob.jsonv[1].j。如果你拿到的是字符串,那你必须先转化成对象才可以取值,字符串转对象有几种方法,js本身自带的是var str2=eval(&#39;(&#39;+str+&#39;)&#39;);这里的str2就是对象了。如果你引入了json.js文件,还可以使用其中的方法,这些都已经封装好了。总结:json只是一种格式。符合这种格式的可以是json对象,也可以是字符串。要取属性值只能从对象里取。所以需要两者的转化。js自带的转化方法: 字符串转成json对象:   var str="{&#39;strv&#39;:[{&#39;a&#39;:&#39;a11&#39;}, {&#39;a&#39;:&#39;b222&#39;} ]}";//字符串   var jsonObject=eval(&#39;(&#39;+str+&#39;)&#39;);//json对象 json对象转成字符串:   js本身没有这样的方法,你需要自己写这样的方法,才能转化。从上可知,js本身只可以将字符串转成json对象,但不可以将json对象转成字符串。其实我们可以用json.js里的方法,而且更简单。这时你要引入json.js文件。json.js里的方法: 字符串转成json对象:     var str="{&#39;strv&#39;:[{&#39;a&#39;:&#39;a11&#39;}, {&#39;a&#39;:&#39;b222&#39;} ]}";//字符串  转成json对象方法1: var myJSONObject1=str.parseJSON();  转成json对象方法2: var myJSONObject2=JSON.parse(str); json对象转成字符串:     var jsonob={&#39;jsonv&#39;:[ {&#39;j&#39;:&#39;j111&#39;}, {&#39;j&#39;:&#39;j222&#39;} ]};//json对象  转成字符串方法1:var mystr1=jsonob.toJSONString();  转成字符串方法2: var mystr2=JSON.stringify(jsonob); */</script>

通过实验,我们应该明白,json其实是一种格式,js本身支持这种格式,

所以你不需要引入json.js就可以使用json对象。我们一般会引入json.js因为这里面封装了json对象和字符串转化的方法,方便我们使用(当然还有其他方法)。

通过本例我们更好地理解json对象和字符串之间的区别。

相关推荐:

js数组常见操作及数组与字符串相互转化实例详解

js json字符串转对象