全网整合营销服务商

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

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

详解JavaScript中js对象与JSON格式字符串的相互转换

首先我们来看一下js中JSON格式的字符串

var JSONStr1 = "{\"name\" : \"张三\"}";

注意以下的写法不是js中JSON格式的字符串,它只是一个js的字符串。

var JSONStr2 = "{'name' : '张三'}";

我们看JSON语法中对于字符串的定义:是由双引号包围的任意数量Unicode字符的集合,使用反斜线转义。一个字符(character)即一个单独的字符串(character string)。

下面我们来看一下在js中怎么把JSON格式的字符串转换成一个JS对象。(

var jsObj3 = eval("(" + JSONStr1 + ")");
var jsObj4 = JSON.parse(JSONStr1);

推荐使用第二种方式具体原因请参看:http://www.json.org.cn/resource/json-in-javascript.htm

此外提一句使用这两种方式转换后的js对象,应该是“一个符合JSON数据格式的js对象”,也就是说它的属性是带着引号的,这只是我的一种猜测,因为如果JSON格式的字符串如下表示:

var JSONStr1 = "{\"f[name]\" : \"张三\"}";

那么转换后的JS对象的属性必定要加上引号,因为js对象的属性不加引号只能使用字母,数字,下划线和$符号表示,使用其它符号属性就要加上引号了,所以说JS对象字面量表示法中属性加上引号是不会错的。另外如果JSON格式的字符串如上所示,那么转换后的js对象对f[name]取值就不能使用 jsObj4.f[name] 要用 jsObj4['f[name]'] ,因为有特殊字符,这点要注意了。对于我的猜测,读者要有异议,可以提给我。

我们再来看看在js中js对象与JSON格式字符串的转换。下面我准备了几组js对象加以说明:

<input type="button" value="测试按钮1" onclick="testJson();"/>

<script type="text/javascript">
  //(1) 这是一个js对象
  var jsObj1 = {
    name : "张三"
  }
  //(2)这是一个内部带有方法js对象。
  var jsObj2 = {
    name : "张三",
    func : function(){
      alert("hello");
    }
  }
  //(3)这是一个符合JSON数据格式的js对象
  var jsonObj = {
    "name" : "张三",
    "age" : 10,
    "remark" : {"high" :170,"address" : "beijingshi"}
  }
  // js数组对象
  var jsArray = [
    {name : "张三"},
    {"age" : 10}
  ]

  function testJson(){

    var JSONstr1 = JSON.stringify(jsObj1);
    var JSONstr2 = JSON.stringify(jsObj2);
    var JSONstr3 = JSON.stringify(jsonObj);
    var JSONstr4 = JSON.stringify(jsArray);
    alert(JSONstr1);
    alert(JSONstr2);
    alert(JSONstr3);
    alert(JSONstr4);

  }

看一下弹框的内容:

               (1)                                              (2)                                      

                 

                      (3)                                                                       (4)

 

其中 (1)、(3)、(4)的执行结果说明,JSON解析器的stringify()函数对于js对象是fou符合JSON格式是不加限定,都可以把js对象转换成JSON格式字符串。

(2)的执行结果说明,js对象中如果没有JSON表示的值(比如函数和undefined)将会被排除。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# js中json对象转字符串  # javascript对象转json  # javascript  # json对象  # Jackson中json格式的字符串与对象的互相转换方式  # 把JSON数据格式转换为Python的类对象方法详解(两种方法)  # FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换操作  # 把json格式的字符串转换成javascript对象或数组的方法总结  # 将List对象列表转换成JSON格式的类实现方法  # 把普通对象转换成json格式的对象的简单实例  # GSON实现Java对象与JSON格式对象相互转换的完全教程  # JS对象与JSON格式数据相互转换  # JavaScript对象与JSON格式的转换及JSON.stringify和JSON.parse的使  # 这是一个  # 转换成  # 不加  # 是一个  # 数据格式  # 给我  # 带着  # 一句  # 将会  # 是由  # 要有  # 下划线  # 推荐使用  # 要注意  # 要用  # 再来  # 如果没有  # 这只  # 就不能  # 所示 


相关文章: php json中文编码为null的解决办法  如何挑选优质建站一级代理提升网站排名?  临沂网站制作公司有哪些,临沂第四中学官网?  全景视频制作网站有哪些,全景图怎么做成网页?  黑客如何通过漏洞一步步攻陷网站服务器?  Android自定义控件实现温度旋转按钮效果  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  python的本地网站制作,如何创建本地站点?  济南专业网站制作公司,济南信息工程学校怎么样?  *服务器网站为何频现安全漏洞?  如何选择高效可靠的多用户建站源码资源?  如何在橙子建站上传落地页?操作指南详解  深入理解Android中的xmlns:tools属性  如何制作算命网站,怎么注册算命网站?  大型企业网站制作流程,做网站需要注册公司吗?  宝盒自助建站智能生成技巧:SEO优化与关键词设置指南  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?  公司网站制作需要多少钱,找人做公司网站需要多少钱?  较简单的网站制作软件有哪些,手机版网页制作用什么软件?  在线制作视频网站免费,都有哪些好的动漫网站?  如何通过虚拟主机快速完成网站搭建?  如何破解联通资金短缺导致的基站建设难题?  制作公司内部网站有哪些,内网如何建网站?  rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted  佛山企业网站制作公司有哪些,沟通100网上服务官网?  高端建站三要素:定制模板、企业官网与响应式设计优化  专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?  网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?  官网建站费用明细查询_企业建站套餐价格及收费标准指南  ,sp开头的版面叫什么?  非常酷的网站设计制作软件,酷培ai教育官方网站?  青浦网站制作公司有哪些,苹果官网发货地是哪里?  网站制作免费,什么网站能看正片电影?  浅谈Javascript中的Label语句  如何在IIS7中新建站点?详细步骤解析  电脑免费海报制作网站推荐,招聘海报哪个网站多?  如何通过商城免费建站系统源码自定义网站主题?  php8.4新语法match怎么用_php8.4match表达式替代switch【方法】  深圳网站制作培训,深圳哪些招聘网站比较好?  香港服务器网站推广:SEO优化与外贸独立站搭建策略  如何自定义建站之星模板颜色并下载新样式?  湖州网站制作公司有哪些,浙江中蓝新能源公司官网?  建站主机选购指南:核心配置与性价比推荐解析  表情包在线制作网站免费,表情包怎么弄?  广州顶尖建站服务:企业官网建设与SEO优化一体化方案  定制建站是什么?如何实现个性化需求?  招贴海报怎么做,什么是海报招贴?  制作网站的过程怎么写,用凡科建站如何制作自己的网站?  jQuery 常见小例汇总 

您的项目需求

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