• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >JavaScript > 详解JavaScript中js对象与JSON格式字符串的相互转换

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

作者:吃猫的大鱼 字体:[增加 减小] 来源:互联网 时间:2017-05-11

吃猫的大鱼通过本文主要向大家介绍了javascript详解,javascript详解pdf,javascript json,javascript json解析,javascript json对象等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

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

var JSONStr1 = "{\"name\" : \"张三\"}";
</div>

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

var JSONStr2 = "{'name' : '张三'}";
</div>

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

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

var jsObj3 = eval("(" + JSONStr1 + ")");
var jsObj4 = JSON.parse(JSONStr1);
</div>

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

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

var JSONStr1 = "{\"f[name]\" : \"张三\"}";
</div>

那么转换后的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);

  }

</div>

看一下弹框的内容:

               (1)                                              (2)                                      

                 

                      (3)                                                                       (4)

 

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

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

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

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • javascript 中的继承实例详解
  • JavaScript函数表达式详解及实例
  • JavaScript中双向数据绑定详解
  • JavaScript错误处理和堆栈追踪详解
  • JavaScript数据结构之广义表的定义与表示方法详解
  • JavaScript队列的应用实例详解【经典数据结构】
  • javascript编程实现栈的方法详解【经典数据结构】
  • javascript防篡改对象实例详解
  • 基于javascript的异步编程实例详解
  • JavaScript中的遍历详解(多种遍历)

相关文章

  • 2017-07-22js 字符串转换成数字的三种方法
  • 2017-05-11vue2.0嵌套路由实现豆瓣电影分页功能(附demo)
  • 2017-05-11jQuery的ajax中使用FormData实现页面无刷新上传功能
  • 2017-05-11JavaScript中利用for循环遍历数组
  • 2017-05-11JS实现线性表的顺序表示方法示例【经典数据结构】
  • 2017-11-15JS 编码,解码
  • 2017-05-11三种方式实现瀑布流布局
  • 2017-05-11JS使用正则截取两个字符串之间的字符串实现方法详解
  • 2017-05-11Angularjs中的ui-bootstrap的使用教程
  • 2017-05-11微信小程序登录态控制深入分析

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Vue数据驱动模拟实现5
    • Node.js中的require.resolve方法使用简介
    • jQuery控制元素隐藏和显示
    • Vue.js学习之过滤器详解
    • js简单实现网页换肤功能
    • jQuery学习之DOM节点的插入方法总结
    • jQuery实现选项卡功能(两种方法)
    • jQuery插件echarts实现的多折线图效果示例【附demo源码下载】
    • JavaScript实现的select点菜功能示例
    • JavaScript实现的冒泡排序法及统计相邻数交换次数示例

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有