博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JSON 与 JS 对象的区别与对比
阅读量:5902 次
发布时间:2019-06-19

本文共 1573 字,大约阅读时间需要 5 分钟。

 

定义:

  JSON是什么?JSON是JS的一种简单数据格式,JSON是JavaScript原生格式,它是一种严格的js对象的格式,JSON的属性名必须有双引号,如果值是字符串,也必须是双引号。

问题:

  JSON是什么?(JSON和JavaScrip对象有什么区别?)如何把JS对象转换位JSON字符串又如何把JSON字符串转换成JavaScript对象?

  答:JSON (JavaScript Object Notation) 一种简单的数据格式,比Xml更轻巧。JSON 是JavaScript原生格式,这意味着在JavaScript中处理JSON数据不需要任何特殊的API 或者工具包。JSON的规则很简单:对象是一个无序的“名称/值”对集合。一个对象以"{"(左括号)开始,“}”(右括号)结束。每个"名称"后跟一个":"(冒号);“名称/值”对之间使用","(逗号)分隔。

它是一种严格的JS对象的格式,JSON属性名称必须有双引号,如果值是字符串,也必须是双引号;

JSON只是一种数据格式;

  <script>

    var obj ={};//这只是JS对象

    var obj1={width:100,height:200}//JS对象

    var obj2={'width':100,'height':100}//JS对象

    var obj3={"width":100,"height":100,"name":"rose"}//JSON格式的JS对象

    var obj4='{"width":100,"height":200,"name":"rose"}';/*我们可以把这个称做:JSON格式的字符串 */

    var array=[

    {
"width":100,"height":200,"name":"rose"},
    {
"width":100,"height":200,"name":"rose"},
     {
"width":100,"height":200,"name":"rose"},

    ] /*这个叫JSON格式的数组,是JSON的稍复杂一点的形式 */

    var arrayStr='['+
     '{"width":100,"height":200,"name":"rose"},'+
     '{"width":100,"height":200,"name":"rose"},'+
     '{"width":100,"height":200,"name":"rose"},'+
     ']' ;/* 这个叫稍复杂一点的JSON格式的字符串 */ 
  </script>
 
区别 JSON Javascript
含义 仅仅是一种数据格式 表示类的实例
传输 可以跨平台数据传输,速度快 不能传输
表现

1.简直对方式,键必须加双引号

2.值不能是方法函数,不能是undefined/NaN

1.键值对方式,键不加引号

2.值可以是函数、对象、字符串、数字、boolean 等

相互转换

Json转换Js对象

1.JSON.parse(JsonStr);(不兼容IE7)

2.eval("("+jsonStr+")");(兼容所有浏览器,但不安全,会执行json里面的表达式?)

js对象转换Json

JSON.stringify(jsObj);

其他 调用JSON官网的JS,实现parse和stringify在哥哥浏览器的兼容:

总而言之你可以理解为JSON是JS下的一种数据格式,他从属于JS,并且在处理JSON数据时可直接使用JS内置API

转载于:https://www.cnblogs.com/mflr/p/7774279.html

你可能感兴趣的文章
RocketMQ事务消息实战
查看>>
mysql-mmm-2.2.1安装手册
查看>>
搭建yum源服务器
查看>>
delphi使用ado导出excel
查看>>
linux 命令详解 二十三
查看>>
IT职场人生系列之二:大学生活
查看>>
手把手教你做出好看的文本输入框
查看>>
zabbix 3.2.7 (源码包)安装部署
查看>>
vsCode 快捷键、插件
查看>>
vue-validator(vue验证器)
查看>>
jQuery Ajax MVC 下拉框联动
查看>>
html
查看>>
c#创建文件夹
查看>>
Hibernate事务代码规范写法
查看>>
网络最大流问题算法小结 [转]
查看>>
面试之Java知识整理
查看>>
iOS推送消息报错误“Domain=NSCocoaErrorDomain Code=3000”的可能问题
查看>>
kvm-1
查看>>
hdu1045 Fire Net---二进制枚举子集
查看>>
leetcode 64. Minimum Path Sum
查看>>