全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

js中json对象和字符串的理解及相互转化操作实现方法

本文实例讲述了js中json对象和字符串的理解及相互转化操作实现方法。分享给大家供大家参考,具体如下:

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

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

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

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

PS:关于json操作,这里再为大家推荐几款比较实用的json在线工具供大家参考使用:

在线JSON代码检验、检验、美化、格式化工具:
http://tools./code/json

JSON在线格式化工具:
http://tools./code/jsonformat

在线XML/JSON互相转换工具:
http://tools./code/xmljson

json代码在线格式化/美化/压缩/编辑/转换工具:
http://tools./code/jsoncodeformat

在线json压缩/转义工具:
http://tools./code/json_yasuo_trans

更多关于JavaScript相关内容可查看本站专题:《JavaScript中json操作技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》

希望本文所述对大家JavaScript程序设计有所帮助。


# js  # json  # 对象  # 字符串  # 转化  # Json对象与Json字符串互转(4种转换方式)  # js 将json字符串转换为json对象的方法解析  # 解析JSON对象与字符串之间的相互转换  # jQuery怎么解析Json字符串(Json格式/Json对象)  # JS对象与json字符串格式转换实例  # js中把JSON字符串转换成JSON对象最好的方法  # jquery解析json格式数据的方法(对象、字符串)  # json对象转字符串如何实现  # 自定义实现Json字符串向C#对象转变的方法  # 使用JSON.parse将json字符串转换成json对象的时候会出错  # 转成  # 的是  # 如果你  # 放在  # 自带  # 转换工具  # 都是  # 是一个  # 是一种  # 好了  # 相关内容  # 还可以  # 是有  # 你要  # 可以用  # 遍历  # 你不  # 你能  # 数据结构  # 那你 


相关文章: 如何快速搭建二级域名独立网站?  家具网站制作软件,家具厂怎么跑业务?  Android自定义控件实现温度旋转按钮效果  网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?  建站之星展会模板:智能建站与自助搭建高效解决方案  网站按钮制作软件,如何实现网页中按钮的自动点击?  如何快速上传自定义模板至建站之星?  宝盒自助建站智能生成技巧:SEO优化与关键词设置指南  制作门户网站的参考文献在哪,小说网站怎么建立?  制作网站公司那家好,网络公司是做什么的?  深入理解Android中的xmlns:tools属性  电脑免费海报制作网站推荐,招聘海报哪个网站多?  北京营销型网站制作公司,可以用python做一个营销推广网站吗?  武清网站制作公司,天津武清个人营业执照注销查询系统网站?  已有域名和空间如何搭建网站?  简历在线制作网站免费版,如何创建个人简历?  购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?  免费网站制作模板下载,除了易企秀之外还有什么H5平台可以制作H5长页面,最好是免费的?  建站主机选购指南:核心配置与性价比推荐解析  成都网站制作价格表,现在成都广电的单独网络宽带有多少的,资费是什么情况呢?  北京专业网站制作设计师招聘,北京白云观官方网站?  天津个人网站制作公司,天津网约车驾驶员从业资格证官网?  如何配置WinSCP新建站点的密钥验证步骤?  如何在IIS中新建站点并配置端口与IP地址?  C++用Dijkstra(迪杰斯特拉)算法求最短路径  建站之星安装后如何自定义网站颜色与字体?  建站ABC备案流程中有哪些关键注意事项?  宝塔建站无法访问?如何排查配置与端口问题?  如何在云指建站中生成FTP站点?  智能起名网站制作软件有哪些,制作logo的软件?  家庭服务器如何搭建个人网站?  建站之星3.0如何解决常见操作问题?  c# Task.ConfigureAwait(true) 在什么场景下是必须的  如何用美橙互联一键搭建多站合一网站?  javascript中的try catch异常捕获机制用法分析  昆明高端网站制作公司,昆明公租房申请网上登录入口?  网站制作培训多少钱一个月,网站优化seo培训课程有哪些?  如何通过商城免费建站系统源码自定义网站主题?  外贸公司网站制作,外贸网站建设一般有哪些步骤?  制作公司内部网站有哪些,内网如何建网站?  微网站制作教程,我微信里的网站怎么才能复制到浏览器里?  如何通过虚拟主机快速搭建个人网站?  潍坊网站制作公司有哪些,潍坊哪家招聘网站好?  装修招标网站设计制作流程,装修招标流程?  IOS倒计时设置UIButton标题title的抖动问题  制作国外网站的软件,国外有哪些比较优质的网站推荐?  义乌企业网站制作公司,请问义乌比较好的批发小商品的网站是什么?  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  唐山网站制作公司有哪些,唐山找工作哪个网站最靠谱?  建站之星代理平台如何选择最佳方案? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。