var obj={width:100,height:200},这样的并不叫JSON,并且JSON只是一种数据格式,并不是具体的实例。

但很多人把这样的JS对象当成JSON,下面把这个问题讲清楚

一、JSON是什么?(JSONJavaScript对象有什么区别?)如何把JS对象转化为JSON字符串?又如何把JSON字符串转化为JavaScript对象?

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,JSON格式的数据,主要是为了跨平台交流数据用的。

但JSON和JavaScript确实存在渊源,可以说这种数据格式是从JavaScript对象中演变出来的,它是JavaScript的一个子集。JSON本身的意思就是JavaScript对象表示法(JavaScript Object Notation),它用严格的JavaScript对象表示法来表示结构化的数据。

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

JSON只是一种数据格式(或者叫数据形式),数据格式其实就是一种规范,格式、形式、规范是不能用来存诸数据的。我们不能把以下的对象叫JSON,比如:

<script>

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

var obj3={width:100,height:200};/*这跟JSON就更不沾边了,只是JS的 对象 */

var obj5={"width":100,"height":200,"name":"rose"}; /*我们可以把这个称做:JSON格式的JavaScript对象 */

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

var a=[

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

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

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

];

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

var str2='['+

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

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

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

']' ;

/*  这个叫稍复杂一点的JSON格式的字符串  */

</script>

 

JSON和JS对象对比表

区别

Json

Javascript对象

含义

仅仅是一种数据格式

表示类的实例

传输

可以跨平台数据传输,速度快

不能传输

表现

1,键值对方式,键必须加引号

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

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

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

相互转换

Json转化为js对象:

1,

JSON.parse(jsonstring);

(不兼容ie7)

2,

Jsobj=eval("("+jsonstring+")");

(兼容所有浏览器,但不安全,会执行json里面的表达式?)

Js对象转换为Json:

JSON.stringify(jsobj);(不兼容ie7)

其他

调用json官网的js,实现parse  和 stringify 在各个浏览器的兼容

:https://github.com/douglascrockford/JSON-js/blob/master/json2.js

JSON和JavaScript对象的更多相关文章

  1. json转javascript对象

    json转javascript对象var tpIdObj = eval("(" + tpid + ")");//json字符串转 对象var tpid = JS ...

  2. JSON:JavaScript 对象表示法

    JSON:JavaScript 对象表示法(JavaScript Object Notation). JSON 是存储和交换文本信息的语法.类似 XML. JSON 比 XML 更小.更快,更易解析. ...

  3. json与JavaScript对象互换

    1,json字符串转化为JavaScript对象: 方法:JSON.parse(string) eg:var account = '{"name":"jaytan&quo ...

  4. 使用Javascript/jQuery将javascript对象转换为json格式数据 - 海涛的CSDN博客 - 博客频道 - CSDN.NET

    body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI& ...

  5. JavaScript对象、JSON对象、JSON字符串的区别

    一.首先看下什么是JSON JSON:JavaScript Object Natation,JavaScript对象的表现形式,已经发展成一种轻量级的数据交换格式. JavaScript对象的表现形式 ...

  6. json字符串和对象的相互转化

    json在代码中是经常用到的,在此总结一下json字符串和对象及数组之间的相互转化: 1.javascript函数方式: <1> JSON.stringify :把一个对象转换成json字 ...

  7. JavaScript大杂烩5 - JavaScript对象的若干问题

    1. 类型检查:instanceof与typeof 这是两个相似的操作符,instanceof用于检测函数的实例类型,主要是在面向对象编程中检查new出来的对象类型,需要注意instanceof是检查 ...

  8. JSON 在JavaScript 中的应用及自己的理解

    [对象和json]JSON:JavaScript 对象表示法(JavaScript Object Notation).JSON 是存储和交换文本信息的语法.类似 XML.JSON是一种数据格式,不是一 ...

  9. JSON数据与JavaScript对象转换

    使用JSON时,最基本的工作就是JSON数据与JavaScript对象之间的互相转换.如浏览器 从服务器端获得JSON数据,然后转换为JavaScript对象在网页输出. SON: JavaScrip ...

随机推荐

  1. 【Android】监听viewpager子页面里面的Button按钮

    最近做项目遇到Viewpager+Fragment滑动页面,要监听子页面中的按钮,在网上查了些解决办法: 办法一: 这种方法是在适配器初始化中进行监听,有人亲测通过,但是我继承FragmentPage ...

  2. 如何解决 错误code signing is required for product type 'xxxxx' in SDK 'iOS 8.2'

    如何解决 错误code signing is required for product type 'xxxxx' in SDK 'iOS 8.2' 大家在做真机调试的时候,或许会遇到这样的问题,那如何 ...

  3. mac安装R语言启动后-Warning messages

    During startup - Warning messages: : Setting LC_CTYPE failed, using "C" : Setting LC_COLLA ...

  4. 一个java定时器框架

    ScheduleIterator接口 import java.util.Date; public interface ScheduleIterator {    public Date next(); ...

  5. ElasticSearch中Date

    ElasticSearch中有时会想要通过索引日期来筛选查询的数据,此时就需要用到日期数学表达式. 比如现在的时间是2024年3月22日中午12点.utc 注意,如果是中国的时间需要加上8个小时! 表 ...

  6. C语言函数调用及栈帧结构

    source:http://blog.csdn.net/qq_29403077/article/details/53205010 一.地址空间与物理内存 (1)地址空间与物理内存是两个完全不同的概念, ...

  7. Python3 MySQL 数据库连接 - PyMySQL 驱动 笔记

    sql插入语句(推荐): str_mac = "nihao" # SQL 插入语句 sql = "INSERT INTO EMPLOYEE(FIRST_NAME, \ L ...

  8. MFC中的几种播放声音的方法

    一.播放声音文件的简单方法 在VC++ 中的多媒体动态连接库中提供了一组与音频设备有关的函数.利用这些函数可以方便地播放声音.最简单的播放声音方法就是直接调用VC++中提供的声音播放函 数BOOL s ...

  9. 10分钟学会前端工程化(webpack4.0)

    一.概要 1.1.前端工程化 随着前端的不断发展与壮大,前端变得越来越复杂,组件化.模块化.工程化.自动化成了前端发展中不可或缺的一部分,具体到前端工程化,面临的问题是如何提高编码->测试-&g ...

  10. 【PostgreSQL】安装使用步骤

    1.下载地址 https://www.postgresql.org/download/windows/ 下载按照较新版本,和平台相一致就好 2.安装 选择安装地址 数据存放地址 密码设置 端口使用默认 ...