JavaScript JSON

  • JSON 是用于存储和传输数据的格式。
  • JSON 通常用于服务端向网页传递数据 。
  • JSON 是一种轻量级的数据交换格式。
  • JSON 使用 JavaScript 语法,但是 JSON 格式是一个文本,可以被任何编程语言读取及作为数据格式传递。
  • JSON 格式在语法上与创建 ​JavaScript ​对象代码是相同的。 由于它们很相似,所以 JavaScript 程序可以很容易的将JSON 数据转换为 JavaScript 对象。

JSON 语法规则

数据为键/值对;数据由逗号分隔;大括号保存对象;方括号保存数组

JSON 数据

一个名称对应一个值
JSON 数据格式为 键/值 对,就像 JavaScript 对象属性。
键/值对包括字段名称(在双引号中),后面一个冒号,然后是值:"name":"Baidu"

JSON 对象

JSON 对象保存在大括号内。就像在 JavaScript 中, 对象可以保存多个键/值对:
{"name":"Baidul", "url":"www.baidu.com"}

JSON 数组

JSON 数组保存在中括号内。就像在 JavaScript 中, 数组可以包含对象:
对象 “​sites​” 是一个数组,包含了三个对象。每个对象为站点的信息

{"sites":[{"name":"Baidu", "url":"www.baidu.com"}, {"name":"Google", "url":"www.google.com"},{"name":"Taobao", "url":"www.taobao.com"}
]}

JSON.parse() 方法

JSON.parse() 方法用于将一个 JSON 字符串转换为对象。
JSON.parse(text[, reviver])
参数说明:

  • text: 必需, 一个有效的 JSON 字符串。
  • reviver: 可选,一个转换结果的函数, 将为对象的每个成员调用此函数。
  • JSON.parse() 不允许用逗号作为结尾

返回值:

  • 返回给定 JSON 字符串转换后的对象。

JSON.stringify() 方法

JSON.stringify() 方法用于将 JavaScript 值转换为 JSON 字符串。
JSON.stringify(value[, replacer[, space]])
参数说明:

  • value: 必需, 要转换的 JavaScript 值(通常为对象或数组)。
  • replacer:可选。用于转换结果的函数或数组。
    如果 replacer 为函数,则JSON.stringify 将调用该函数,并传入每个成员的键和值。使用返回值而不是原始值。如果此函数返回 undefined,则排除成员。根对象的键是一个空字符串:" "。如果 replacer 是一个数组,则仅转换该数组中具有键值的成员。成员的转换顺序与键在数组中的顺序一样。
  • space: 可选,文本添加缩进、空格和换行符,如果 space 是一个数字,则返回值文本在每个级别缩进指定数目的空格,如果space 大于 10,则文本缩进 10 个空格。space也可以使用非数字,如:\t。

返回值:

  • 返回包含 JSON 文本的字符串。

JS学习总结(11)—— JSON相关推荐

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

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

  2. node.js学习总结:node.js的内置模块,模块化,npm与包 express,前后端身份认证 JWT认证机制

    node.js学习总结 什么是node.js node.js的内置模块 fs系统模块 path路径模块 http模块 模块化 npm与包 express express路由 express+mysql ...

  3. node.js学习-第二章节

    目录 前言 学习NodeJS的意义 01-nodejs搭建静态资源服务器 1.1-nodejs搭建静态资源服务器01 1.2-nodejs搭建静态资源服务器02 02-nodejs接收get请求与po ...

  4. 狂神学习系列11:SpringBoot

    狂神学习系列11:SpringBoot 声明: 本文章是基于狂神的课程所编写,本人才疏学浅,内容仅作参考 项目和markdown文件资料: 07_SpringBoot: 基于狂神说SpringBoot ...

  5. 商情云 | php学习 | wampserver | 宝塔面板 | fastadmin框架 | JS学习

    宝塔面板 相关配置文件位置 D:\hc\baota 处理函数被禁用问题 问题:wampserver图标变橙了 解决:wampserver三个服务分别是Apache.PHP.MySQL,变红说明三个服务 ...

  6. 千锋Node.js学习笔记

    千锋Node.js学习笔记 文章目录 千锋Node.js学习笔记 写在前面 1. 认识Node.js 2. NVM 3. NPM 4. NRM 5. NPX 6. 模块/包与CommonJS 7. 常 ...

  7. ArcGIS JS 学习笔记4 实现地图联动

    原文:ArcGIS JS 学习笔记4 实现地图联动 1.开篇 守望屁股实在太好玩了,所以最近有点懒,这次就先写个简单的来凑一下数.这次我的模仿目标是天地图的地图联动. 天地的地图联动不仅地图有联动,而 ...

  8. backbone.js学习笔记

    backbone.js学习笔记 之前只接触过jQuery,看来Backbone是除了jQuery的第二大JS框架... backbone到底是个啥? 其实刚开始我也不知道=_=,我是这周二才听说居然还 ...

  9. node.js学习笔记

    # node.js学习笔记标签(空格分隔): node.js---## 一 内置模块学习 ### 1. http 模块 ``` //1 导入http模块 const http =require('ht ...

  10. WebGL three.js学习笔记 6种类型的纹理介绍及应用

    WebGL three.js学习笔记 6种类型的纹理介绍及应用 本文所使用到的demo演示: 高光贴图Demo演示 反光效果Demo演示(因为是加载的模型,所以速度会慢) (一)普通纹理 计算机图形学 ...

最新文章

  1. 利用nginx的stream模块实现内网端口的转发代理
  2. AI传教士和野人渡河问题-实验报告
  3. 分享下我的博客园CSS
  4. Build Tools三问
  5. how SAP OData supported option in odata eq ne lt gt?
  6. LeetCode 360. 有序转化数组(抛物线对称轴)
  7. Mysql根据顺序合并数据
  8. 苹果13英寸MacBook Pro有望下月更新 搭载M2芯片
  9. C4D立体素材|旅游度假主题海报,设计点睛之笔
  10. C#中使用消息队列服务
  11. ArcGIS服务器的feature图层限制
  12. matplotlib——折线图
  13. 程序员应该做的事(转自CSDN)
  14. linux 下查看硬件信息
  15. 超级硬盘恢复软件真的超好用哦!
  16. oracle如何查看剩余表空间,oracle 查看各表空间剩余量
  17. 列主元消去法例题详解_列主元消去法
  18. liunx在线安装mysql/修改mysql密码/设置简单mysql密码
  19. 部署 GlusterFS 群集
  20. Camera Tuning

热门文章

  1. python aes加密对于长字符数据丢失_Python 3中AES加密和解密的字符串字节数
  2. Linux文件的基本属性
  3. oracle 除重更新,oracle数据库11.2.0.3升级到11.2.0.4
  4. java 排水管网 系统_排水管网数字化管理系统
  5. php curl设置headers,php curl如何设置头部信息
  6. 15. Django基础:cookies和sesseion
  7. 12. Django基础:模型层及ORM
  8. Python:学习笔记之多值参数(函数中*传递元组**传递字典)案例演练
  9. 设计模式(4)——工厂模式
  10. 组建技术团队的一些思考