关于js和JSON的 一篇 好文章: http://www.68idc.cn/help/makewebs/javascript/20150704416007.html 讲的很好 很易懂

在将javascript对象转换为JSON的时候,有一点是需要我们注意的: 如果对象中包含有值为函数和日期的属性,JSON会忽略值为函数的属性,并将值为日期的属性转换为字符串。

js object 的字面样式的 对象变量的写法, 跟json字符串的写法 是基本 一样的, 但是 两者的性质 是不同的!

http://www.cnblogs.com/damonlan/archive/2012/03/13/2394787.html

在JSON.stringify(value [,replacer] [,spacer]); 中,

  • 被转换的内容可以是 对象object, 也可以是数组, 只是, 数组的话, 就不输出前面的key了...

  • 即使是 通过 var o = new Object(); o.name="foo"; 的方式 创建的对象, 转换成 json时, 仍然能够显示, 输出 key: value, 可以依然是有效的..

replacer可以是函数,或者数组 . 更多的是 函数, 表示 要处理 前面的 的key, value. 如:

    var jsonStr = JSON. stringify ( jsObj, function(key, value){return value.toString().toUpperCase();});
  • replacer 如果是数组, 第一个参数也是数组的化, 就只显示第一个参数; 如果第一个是 new Object()对象 的化, ...

  • spacer表示 分隔符号. 如果是数字, 表示 最多 可以 缩进 10个 字符... 如果是 \r, 就用回车分隔, 如果是其他字符串....分隔...

http://www.cnblogs.com/dolphinX/p/3270779.html

关于创建js对象 的好文章: http://www.cnblogs.com/dolphinX/p/3288118.html

js的对象, 是用{...}来表示的,当然也可以用 new Object()来生成, 这是一个 "很正式" 数据类型. 它可以先c++一样, 包含成员变量和 成员方法: 由成员函数的!!

  1. js中是有 "对象"的数据类型的! typeof .... : 返回的 是 Object.

  2. js对象的定义方式:

    • 使用构造函数: var jsObj = new Object();
    • 使用 直接的 "字面量" 形式: ` var jsObj = { attr1: "value1", attr2: 10 (一个数字), attr3: true(一个boolean值), attr4: function(){...} (一个函数) };

最重要的是, 如同在c/C++ 中的类/结构体 一样 , js的对象 的属性名 是可以 不用 双引号 来 阔起来的!! 而JSON "对象"的属性 是要 用 双引号阔起来的, 必须是双引号, 单引号来阔起来都不行!!

  1. js的内置对象?
    js是有一些内置对象的, 如:Array, Date, String. 功能强大, 使用简单, "但是在处理一些复杂的逻辑时, 内置对象就显得无能为力了, 就需要 用户自己定义 对象了.
    内置对象的使用 是: 如果是类方法或 属性, 直接使用 类名来 reference: 如: Array.staticAttr? 如果是类的实例的 方法 , 就要 先实例化 创建实例对象, 然后再使用 实例方法.
    可以认为, 这些内置对象, 系统已经给我们定义好了的, 属性和方法都写好了的, 用不着我们再去写了, 你也可以 自己 写一个 同名的 Array, Date类, 如果确实有必要的话!!

  2. JSON 是js的内置对象, 意思就是 js object notation,(js 对象标记). 可以认为 JSON 是一种js的数据类型. 如Array 生成返回的是一个 数组! 实际上 JSON 表现是一种 字符串的形式, 不是对象的形式? 准确的说法是: JSON string:

JSON.stringify 看他的名字就知道了, 它说的是 stringify, "字符串化" == 即: 将js对象 字符串化, 就是将js对象 转换成 json格式的 "字符串".

parse: 是动词, 不是parser , 是解析 json格式的 "字符串", 将 jsonStr -> jsObj.

那么js和JSON 之间的相互转换是通过 两个函数来实现的:

jsObj  ->  jsonStr:  var jsObj = {name: "foo", age: 20};var jsonStr = JSON.stringify(jsObj);   // stringify 表示 字符串 化 , 说的很明显的, 就是表明了: JSON是一种 字符串! typeof jsonStr: JSON?jsonObj -> jsObj:var jsObj = JSON.parse(jsonStr);  // typeof jsObj: Object?

vim的列 为什么是一个范围?不是一个确定的数字?

你只看前面那个数字, 前面那个数字, 是当前光标所在的位置!(至于为什么是一个范围, 还不知道?)

eval和val的区别?

http://www.cnblogs.com/wangjunqiao/p/5718466.html , 说: JSON.parse(jsonStr)会解析 字符串 格式, 如果格式不正确, 即key, val没有用 双引号括起来, 等等语法错误, 会提示解析错误. 但是eval(...) 会解析其中 参数 的 任意 字符串, 不会进行格式 检查, 而且, 最可怕的是, 它会去 执行字符串, 即, 如果字符串是可以执行的js脚本 , 则 这个脚本将会执行! 所以, 如果恶意用户, 向网页中注入 恶意代码 脚本,(也有可能是 开发者, 那么你访问 网页的 时候, 就会着了...




转载于:https://www.cnblogs.com/bkylee/p/5953888.html

javascript的对象 和 JSON 对象?相关推荐

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

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

  2. [js]javascript实现多个json对象及列表的美化,容错非法json

    javascript实现多个json对象及列表的美化,容错非法json 本文介绍的使用javascript格式化json,核心的函数是eval和JSON.stringify. 支持多个json混在一起 ...

  3. json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值...

    json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值 原文:json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值 主要内容: 一 ...

  4. Java对象转换为Json对象

    前言 曾几何时,XML是程序员的宠儿,是数据传输.API.AJAX应用等方面的不二选择,但自从JSON横空出世后,或者你会发觉你身边就有很多人开始抛弃XML,在他们的心目中,JSON已经完全取代了XM ...

  5. jsp 将java对象转json对象 (自定义EL函数)

    功能:在 jsp 页面将 java对象 转换为 json对象 (使用自定义EL函数实现) 步骤: 1. 创建 JSP EL 工具类 2. 创建 tld 文件 3. 配置 web.xml 文件 4. 完 ...

  6. js中自定义对象、json对象、json字符串、普通js对象 --js学习那本书上的

    4.7 自定义对象 JS除了内置对象之外,还允许我们程序自己定义属于我们自己的对象,在JS中自定义对象的方式有2种:通过构造器创建对象,通过初始化器创建对象. 4.7.1 构造器创建对象(原生JS对象 ...

  7. js中自定义对象、json对象、json字符串、普通js对象

    4.7 自定义对象 JS除了内置对象之外,还允许我们程序自己定义属于我们自己的对象,在JS中自定义对象的方式有2种:通过构造器创建对象,通过初始化器创建对象. 4.7.1 构造器创建对象(原生JS对象 ...

  8. java 视图对象转换,使用spring boot开发时java对象和Json对象转换的问题_JavaScript_网络编程...

    将java对象转换为on对象,市面上有很多第三方jar包,如下: jackson(最常用) com.fasterxml.jackson.core jackson-databind 2.11.2 gso ...

  9. java对象和json对象之间互相转换

    2019独角兽企业重金招聘Python工程师标准>>> import java.util.ArrayList; import java.util.Collection; import ...

  10. jquery:字符串转json对象,json对象转字符串

    jquery:字符串转json对象,json对象转字符串 JSON字符串: var str = '{ "name": "cxh", "sex" ...

最新文章

  1. Android Studio离线打包5+SDK
  2. Javascript、Jquery获取浏览器和屏幕各种高度宽度[mark]
  3. android 启动服务权限,android – 当我尝试启动服务时权限被拒绝
  4. Spring Batch 专题
  5. IE报vuex requires a Promise polyfill in this browser问题解决
  6. redis持久化策略梳理及主从环境下的策略调整记录
  7. 存储优化 - 删除重复记录只保留单条
  8. java 执行 cd_java执行cd命令
  9. web前端的易错点和冷知识,新人必看!
  10. python下载文件的三种方法
  11. Windows控制台cmd默认代码页修改的办法【GBK、UTF-8】
  12. 根据卡号识别银行卡类型
  13. BI报表工具:IT人的必备工具!
  14. 给定平面上任意三个点的坐标,检验它们能否构成三角形。
  15. 2021年电子元器件行业涨价趋势已现
  16. 广告行业中那些趣事系列43:小布语音助手知识问答比赛优化实践
  17. 卡贴机变无锁教程_如何让“有锁”iPhone变“无锁”?“有锁”iPhone变“无锁”设置教程...
  18. 在Ubuntu上安装NTL
  19. 流氓软件广告屏蔽大师 处理方式
  20. 疯狂Java讲义中的程序,使用代理服务器来获取网上的资源

热门文章

  1. 外部类与嵌套类的区别
  2. AS3.0实例学习 熟悉新的事件机制和addChild的运用
  3. 【OPPO主题制作系列 - 01】-- 写个小工具自动打包Theme文件
  4. WinForm------GridControl合并单元格
  5. Sqlserver2005附加数据库时出错提示操作系统错误5(拒绝访问)错误5120的解决办法...
  6. 爱情六十六课,自我救赎
  7. php-cs-fixer不起作用,使用 PHP-CS-Fixer 规范PHP代码
  8. pyqt5 登录跳转
  9. [bzoj] 2694 Lcm || 莫比乌斯反演
  10. 使用ILSpy软件反编译.Net应用程序的方法及注意事项