JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。因为采用独立于语言的文本格式,也使用了类似于C语言家族的习惯,拥有了这些特性使使JSON称为理想的数据交换语言,作用是易于阅读和编写,同时也易于机器解析和生成(一般用于网络传输速率)。

(1)JSON.parse函数

作用:将json字符串转换成json对象。

语法:JSON. parse(text[,reviver]).

参数:text  必须;一个有效的json字符串。

reviver  可选。

返回值:一个对象或数组。

example:

(2)JSON.stringify()函数

作用:将json对象转换成json字符串。

语法:JSON.stringify(value [, replacer] [, space])

参数:value  必须;通常为对象或数组。

replacer 可选,用于转换结果的函数或者数组。

space 可选。向返回值 JSON 文本添加缩进、空格和换行符以使其更易于读取。

返回值:一个包含JSON文本的字符串。

example:

(3) eval()函数

作用:eval()函数可计算某个字符串,并执行其中的javascript表达式或要执行的语句。

语法:eval(string)

参数: string  必须,需要计算的字符串,其中含有要计算的javascript表达式或要执行的语句。

返回值:返回计算string的值,没有的话不做任何改变返回。

example:

使用eval()函数也可以将JSON字符串解析为对象,这个功能能完成JSON.parse()的功能,但是有不一样的地方,请看下面代码 :

不知道大家有木有注意到eval()还要用一对圆括号将字符串包起来,对此我寻找到比较好的解释就是:

原因:归结于eval本身的问题,由于json是以”{}”的方式来开始以及结束的,在JS中,它会被当成一个语句块来处理,所以必须强制性的将它转换成一种表达式。

解决方法:加上圆括号的目的是迫使eval函数在处理JavaScript代码的时候强制将括号内的表达式(expression)转化为对象,而不是作为语句(statement)来执                 行。举一个例子,例如对象字面量{},如若不加外层的括号,那么eval会将大括号识别为JavaScript代码块的开始和结束标记,那么{}将会被认为是执行了一句空语                 句。请看下列例子的不同:

————————————————
版权声明:本文为CSDN博主「无心1989」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/power_guoxinzhao/article/details/83892328

js中转换json对象方法详解及使用案例相关推荐

  1. JS中的JSON.Stringify 方法详解

    在大厂的前端面试过程中,JSON.Stringify常常被问到,那么能够熟练的运用,掌握就必不可少. 那么,到底什么是 JSON.stringify 方法? 方法基本介绍 JSON.stringify ...

  2. android json mysql_Android通过json向MySQL中读写数据的方法详解【读取篇】

    本文实例讲述了Android通过json向MySQL中读取数据的方法.分享给大家供大家参考,具体如下: 首先 要定义几个解析json的方法parseJsonMulti,代码如下: private vo ...

  3. 在HTML文档中使用JavaScript的方法详解

    在HTML文档中使用JavaScript的方法详解 本文详细介绍,在HTML文档(也称为HTML页面或网页)中使用JavaScript脚本代码的多种方法. 假设要用JS生成字符☆直角三角形 实现Jav ...

  4. JS中的日期和时间详解

    JS中的日期和时间详解 关于Date()构造函数 简单实例 用Date()构造函数创建时钟 关于Date()构造函数 Date()构造函数是javascript的核心语言部分,用来创建表示时间和日期的 ...

  5. java web json_java web中对json的使用详解

    一.在Java Web的开发过程中,如果希望调用Java对象转化成JSON对象等操作.则需要引入以下jar包,不然运行时则报错. 1.commons-beanutils.jar 2.commons-c ...

  6. java中迭代器要导包吗_java 中迭代器的使用方法详解

    java 中迭代器的使用方法详解 前言: 迭代器模式将一个集合给封装起来,主要是为用户提供了一种遍历其内部元素的方式.迭代器模式有两个优点:①提供给用户一个遍历的方式,而没有暴露其内部实现细节:②把元 ...

  7. php中this的使用技巧,JavaScript中this关键字使用方法详解

    JavaScript中this关键字使用方法详解 在面向对象编程语言中,对于this关键字我们是非常熟悉的.比如C++.C#和Java等都提供了这个关键字,虽然在开始学习的时候觉得比较难,但只要理解了 ...

  8. 无刷新跳转—关于history中pushState和replaceState方法详解

    〝 古人学问遗无力,少壮功夫老始成 〞 **关于history中pushState和replaceState方法详解,**常码字不易,出精品更难,没有特别幸运,那么请先特别努力,别因为懒惰而失败,还矫 ...

  9. js中toString()和String()区别详解

    转载自  js中toString()和String()区别详解 我们知道String()与 .toString()都是可以转换为字符串类型,但是String()与 .toString()的还是有区别的 ...

最新文章

  1. 最新的NLP开源神器来了!
  2. FuncT,TResult的使用方法(转载)
  3. AliGraph:一个工业级的图神经网络平台
  4. php5.6 连接 oracle,XAMPP中PHP5.6.3连接Oracle
  5. 支持.NET的分布式缓存系统memcached
  6. python网络爬虫系列教程——python中requests库应用全解
  7. python自动答题助手_头脑王者python答题助手
  8. conda环境下更新pip失败
  9. Kubernetes之PV与PVC
  10. Cool Edit之生成.pk文件问题
  11. 谷歌发布Android auto车载系统对当前车载市场的影响
  12. linux的system函数命令大全,Linux下system函数
  13. 数据库时间为datetime(date)类型,开发使用String类型的优劣
  14. 测试计算机病毒,计算机病毒测试
  15. Git命令详解及工作实用流程
  16. 基于JAVA大学生规划平台计算机毕业设计源码+系统+lw文档+部署
  17. swap(交换内存)和shm(共享内存)的区别
  18. Java过滤HTML标签、属性等正则表达式汇总
  19. PaddleDetection目标检测之水果检测(下)(yolov3_mobilenet_v1)
  20. FCN(Fully Convolutional Network)全卷积网络笔记

热门文章

  1. maven 配置多镜像
  2. 易语言获取指定文本模块封装源码
  3. linux升级网卡fw,一种解决网卡FW自动升级的方法与流程
  4. 卡尔曼滤波器(THE KALMAN FILTER)的数学原理
  5. SNE(Service Network Engine)
  6. 利用nmap scan ssh server支持的algorithms
  7. python提升读取速度_如何提高PySerial读取速度
  8. 华为荣耀MagicBook笔记本 键盘灯怎么设置为常亮?
  9. 雅马哈机械手的基本操作,与上位机通讯程序编写
  10. quartz定时任务中遇到的坑