JavaScript JSON使用原理及注意事项


Posted in Javascript onJuly 30, 2020

环境

  • vscode 1.46
  • Microsoft Edge 83

概念

JSON 是一种按照JavaScript对象语法的数据格式,这是 Douglas Crockford 推广的。

虽然它是基于 JavaScript 语法,但它独立于 JavaScript,这也是为什么许多程序环境能够读取(解读)和生成 JSON。

JSON可以作为一个对象或者字符串存在,前者用于解读 JSON 中的数据,后者用于通过网络传输 JSON 数据。

JavaScript 提供一个全局的 可访问的 JSON 对象来对这两种数据进行转换。

JSON 结构

{
 "squadName" : "Super hero squad",
 "homeTown" : "Metro City",
 "formed" : 2016,
 "secretBase" : "Super tower",
 "active" : true,
 "members" : [
  {
   "name" : "Molecule Man",
   "age" : 29,
   "secretIdentity" : "Dan Jukes",
   "powers" : [
    "Radiation resistance",
    "Turning tiny",
    "Radiation blast"
   ]
  },
  {
   "name" : "Madame Uppercut",
   "age" : 39,
   "secretIdentity" : "Jane Wilson",
   "powers" : [
    "Million tonne punch",
    "Damage resistance",
    "Superhuman reflexes"
   ]
  },
  {
   "name" : "Eternal Flame",
   "age" : 1000000,
   "secretIdentity" : "Unknown",
   "powers" : [
    "Immortality",
    "Heat Immunity",
    "Inferno",
    "Teleportation",
    "Interdimensional travel"
   ]
  }
 ]
}

JSON 数组

[
 {
  "name" : "Molecule Man",
  "age" : 29,
  "secretIdentity" : "Dan Jukes",
  "powers" : [
   "Radiation resistance",
   "Turning tiny",
   "Radiation blast"
  ]
 },
 {
  "name" : "Madame Uppercut",
  "age" : 39,
  "secretIdentity" : "Jane Wilson",
  "powers" : [
   "Million tonne punch",
   "Damage resistance",
   "Superhuman reflexes"
  ]
 }
]

其他注意事项

  • JSON 是一种纯数据格式,它只包含属性,没有方法。
  • JSON 要求有两头的 { } 来使其合法。最安全的写法是有两边的括号,而不是一边。
  • 甚至一个错位的逗号或分号就可以导致 JSON 文件出错。您应该小心的检查您想使用的数据(虽然计算机生成的 JSON 很少出错,只要生成程序正常工作)。您可以通过像 JSONLint 的应用程序来检验 JSON。
  • JSON 可以将任何标准合法的 JSON 数据格式化保存,不只是数组和对象。比如,一个单一的字符串或者数字可以是合法的 JSON 对象。虽然不是特别有用处……
  • 不像 JavaScript 标识符可以用作属性,在 JSON 中,只有字符串才能用作属性。

对象和文本间的转换

可以使用 JSON.stringify 和 JSON.parse 来进行对象和文本间的转换。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery 多行滚动代码(附详细解释)
Jun 17 Javascript
jquery动画3.创建一个带遮罩效果的图片走廊
Aug 24 Javascript
JS简单实现登陆验证附效果图
Nov 19 Javascript
JavaScript实现的简单拖拽效果
Jun 01 Javascript
Vue.JS入门教程之事件监听
Dec 01 Javascript
vue-cli 引入jQuery,Bootstrap,popper的方法
Sep 03 jQuery
vue项目中使用tinymce编辑器的步骤详解
Sep 11 Javascript
详解mpvue小程序中怎么引入iconfont字体图标
Oct 01 Javascript
Angular2使用SVG自定义图表(条形图、折线图)组件示例
May 10 Javascript
使用layui 的layedit定义自己的toolbar方法
Sep 18 Javascript
微信小程序淘宝首页双排图片布局排版代码(推荐)
Oct 29 Javascript
VUE之图片Base64编码使用ElementUI组件上传
Apr 09 Vue.js
解决vue cli4升级sass-loader(v8)后报错问题
Jul 30 #Javascript
基于JavaScript实现猜数字游戏代码实例
Jul 30 #Javascript
如何用JS模拟实现数组的map方法
Jul 30 #Javascript
Vue性能优化的方法
Jul 30 #Javascript
vue props default Array或是Object的正确写法说明
Jul 30 #Javascript
Vue props中Object和Array设置默认值操作
Jul 30 #Javascript
vue prop传值类型检验方式
Jul 30 #Javascript
You might like
php 删除数组元素
2009/01/16 PHP
thinkPHP框架中执行原生SQL语句的方法
2017/10/25 PHP
PHP基于redis计数器类定义与用法示例
2018/02/08 PHP
浅谈php://filter的妙用
2019/03/05 PHP
laravel validate 设置为中文的例子(验证提示为中文)
2019/09/29 PHP
thinkphp框架表单数组实现图片批量上传功能示例
2020/04/04 PHP
jQuery一步一步实现跨浏览器的可编辑表格,支持IE、Firefox、Safari、Chrome、Opera
2009/08/28 Javascript
jQuery 前的按键判断代码
2010/03/19 Javascript
JavaScript isArray()函数判断对象类型的种种方法
2010/10/11 Javascript
jQuery ready函数滥用分析
2011/02/16 Javascript
40款非常有用的 jQuery 插件推荐(系列一)
2011/12/21 Javascript
在ASP.NET中使用JavaScript脚本的方法
2013/11/12 Javascript
node.js中的fs.chmodSync方法使用说明
2014/12/18 Javascript
用JS写的一个Ajax库(实例代码)
2016/08/06 Javascript
基于Vue2.0的分页组件
2017/03/16 Javascript
Vue2.0利用vue-resource上传文件到七牛的实例代码
2017/07/28 Javascript
webpack打包非模块化js的方法
2018/10/24 Javascript
ElementUI中el-tree节点的操作的实现
2020/02/27 Javascript
Angular+ionic实现折叠展开效果的示例代码
2020/07/29 Javascript
python开发中module模块用法实例分析
2015/11/12 Python
Python程序中设置HTTP代理
2016/11/06 Python
python使用matplotlib绘制折线图教程
2017/02/08 Python
浅谈python str.format与制表符\t关于中文对齐的细节问题
2019/01/14 Python
Python 实现毫秒级淘宝抢购脚本的示例代码
2019/09/16 Python
win7下 python3.6 安装opencv 和 opencv-contrib-python解决 cv2.xfeatures2d.SIFT_create() 的问题
2019/10/24 Python
windows、linux下打包Python3程序详细方法
2020/03/17 Python
全球性的在线时尚男装零售商:boohooMAN
2016/12/17 全球购物
FILA德国官方网站:来自意大利的体育和街头服饰品牌
2019/07/19 全球购物
Java程序员面试题
2013/07/15 面试题
最新茶叶店创业计划书
2014/01/14 职场文书
农业开发项目建议书
2014/05/16 职场文书
2015年行政人事部工作总结
2015/05/13 职场文书
2016年世界人口日宣传活动总结
2016/04/05 职场文书
python opencv旋转图片的使用方法
2021/06/04 Python
如何搭建 MySQL 高可用高性能集群
2021/06/21 MySQL
如何避免mysql启动时错误及sock文件作用分析
2022/01/22 MySQL