什么是JSON?

JavaScript 对象表示法(JavaScript Object Notation)。

JSON是一种轻量级的数据交换格式,某个JSON格式的文件内部譬如可以长成这样:

看起来都是key-value的键值对,很像js的对象吧?没错,但同时JSON表示不服,我不能跟js的对象长成一样啊,我得有我自己的个性,于是规定键-值对中的键必须用双引号!同时规定键-值对中的值的取值有一定要求:

JSON 值可以是:

数字(整数或浮点数)

字符串(在双引号中)

逻辑值(true 或 false)

数组(在方括号中)

对象(在花括号中)

null

除以上6种外,再无其他,没有像js一样的undefined、NAN,JSON拒绝使用。

如何使用JSON?

JSON一般以字符串的形式在数据交互过程中游走,so对于js而言,如何将json字符串和js对象之间进行相互转换显得尤为重要。

eval大法(json字符串 -> js对象)

eval 函数非常快,但是它可以编译任何 javascirpt 代码,这样的话就可能产生安全的问题。eval 的使用是基于传入的代码参数是可靠的假设下,有一些情况下,可能客户端是不可信任的。如果基于安全的考虑的话,最好是使用一个JSON解析器,一个JSON 解析器将只接受JSON文本,所以是更安全的,如下。

JSON.parse(json字符串 -> js对象)

第二个参数可以是函数,可以对值进行删改:

JSON.stringify(js对象 -> json字符串)

也可以加个参数,规定需要转化为json字符串的属性(数组形式,跟数组同名的js对象属性才会被转换):

第二个参数也可以是个函数,可以删选符合条件的属性(或者改变属性值,没有return表示放弃该属性,return的值表示该key在json字符串中的值)

还可以有第三个参数,可以是数字或者字符串。

如果是数字的话,表示缩进,数字大小超过10了按10处理。

也可以是字符串,会在属性前加上这些字符串充当前缀,同样字符串长度超过10只截取10:

这里我有个疑问,我觉得输出应该是如下形式才对啊...

麻烦有知道的大大能倾情告诉我...

总结

当然传说中的ie8(及以下)因为某种缺陷不能使用JSON.parse()以及JSON.stringify()方法,而eval()又显得不安全,如果要兼容它们的话可以引用json2.js。

--------------------------------------分割线 --------------------------------------

--------------------------------------分割线 --------------------------------------

linux 中ans 用法,JSON简介以及用法汇总相关推荐

  1. linux中read函数的用法,Linux中read命令的简介及使用方法

    Linux中read命令的简介及使用方法 发布时间:2020-08-17 16:40:04 来源:亿速云 阅读:107 作者:小新 这篇文章给大家分享的是有关Linux中read命令的简介及使用方法的 ...

  2. php umount强制,linux中mount/umount命令的基本用法及开机自动挂载方法

    本文介绍了linux中mount/umount命令的基本用法及开机自动挂载,具体方法如下: mount命令格式如下: 格式:mount [-参数] [设备名称] [挂载点] 其中常用的参数有: -a ...

  3. linux之getcwd函数解析,Linux 中C语言getcwd()函数的用法

    Linux 中C语言getcwd()函数的用法 先来看该函数的声明: #include char *getcwd(char *buf,size_t size); 介绍: 参数说明:getcwd()会将 ...

  4. linux mount 指定用户名,linux中mount/umount命令的基本用法及开机自动挂载方法

    本文介绍了linux中mount/umount命令的基本用法及开机自动挂载,具体方法如下: mount命令格式如下: 格式:mount [-参数] [设备名称] [挂载点] 其中常用的参数有: -a ...

  5. linux 移动剪切命令,Linux中vi的复制命令的用法详解

    在Linux系统中,使用VI编辑的时候经常用到的操作就是复制粘贴,那么下面由学习啦小编为大家整理了linux中vi的复制命令的用法详解的相关知识,希望对大家有帮助! Linux中vi的复制命令的用法详 ...

  6. linux中替换命令详解,linux中sed命令字符串替换的用法详解

    Linux系统中sed命令可以将字符串批量替换,省去了很多麻烦,下面由学习啦小编为大家整理了linux系统中sed命令字符串替换的用法详解,希望对大家有帮助! linux中sed命令字符串替换的用法详 ...

  7. linux chkconfig 目录,Linux中chkconfig命令的简介及使用方法

    Linux中chkconfig命令的简介及使用方法 发布时间:2020-08-17 16:39:04 来源:亿速云 阅读:94 作者:小新 小编给大家分享一下Linux中chkconfig命令的简介及 ...

  8. JSON简介以及用法汇总

    SON简介以及用法汇总 什么是JSON? JavaScript 对象表示法(JavaScript Object Notation). JSON是一种轻量级的数据交换格式,某个JSON格式的文件内部譬如 ...

  9. 每天学一点儿shell:linux中时间函数的date的用法

    文章目录 1.linux中date函数格式 2.date日期函数的具体用法 2.1.获取相应格式的日期 2.2.获取相隔时间段的日期 2.2.1.获取今天的日期 2.2.2.获取昨天的日期 2.2.3 ...

最新文章

  1. Binary XML file line #8: Error inflating class android.support.v7.widget.RecyclerView
  2. SQLite3简单C++包装类源码示例
  3. 关于VMware Linux 虚拟机忘记root 密码找回
  4. python的print输出_python中的print()输出
  5. 如何打通“鱼塘” ?腾讯启动“SaaS技术联盟” 共建技术中台
  6. python字典是什么数据结构_Python常用数据结构——字典
  7. 支付宝研究员兼OceanBase总架构师杨传辉:我在数据库梦之队的十年成长路
  8. 不要误解【流程管理】这个概念
  9. Android下图片处理的的一些方法
  10. select下拉列表
  11. HDU 5145 NPY and girls (莫队分块离线)
  12. 粒子群算法求解二元函数极值-附带800字程序说明
  13. winform 显示分隔控件_Winform分页控件之纯分页显示处理
  14. 【肝帝一周总结:全网最全最细】☀️Mysql 索引数据结构详解与索引优化☀️《❤️记得收藏❤️》
  15. Python安装教程和Pycham教程
  16. 阿里云VPC网络内网实例通过SNAT连接外网
  17. 2021大厂Android面试经验,经典好文
  18. Vulnhub-Earth
  19. 万兆局域网方案_家庭基础万兆网络——最简单的方案
  20. java 日期格式化 24小时_SimpleDateFormat转换时间,12,24时间格式

热门文章

  1. ML之FE:特征工程中的特征拼接处理(常用于横向拼接自变量特征和因变量特征)(daiding)
  2. Interview:算法岗位面试—10.15下午—上海某公司算法岗位(偏机器学习,合资制造行业)技术面试考点之电话面试—研究项目的技术考察
  3. NLP之word2vec:利用 Wikipedia Text(中文维基百科)语料+Word2vec工具来训练简体中文词向量
  4. ExecutableNotFound: failed to execute ['dot', '-Tsvg'], make sure the Graphviz executables are on yo
  5. 集成学习-Boosting集成学习算法GBDT
  6. 一球从M米高度自由下落,每次落地后返回原高度的一半,再落下。 它在第N次落地时反弹多高?共经过多少米? 保留两位小数...
  7. ng机器学习视频笔记(二) ——梯度下降算法解释以及求解θ
  8. 前端构建工具gulp之基本介绍
  9. JAVA 解析xml字符串
  10. 用筛选法求100以内的素数(数组)