什么是JSON数据格式?

2023-10-27

一、什么是 JSON ?

  • JSON 是 JavaScript 对象表示法(全称JavaScript Object Notation),类似于XML.
  • JSON 是轻量级的文本数据交换格式,它比 XML 更小、更快,更易解析。
  • JSON 独立于语言
  • JSON 具有自我描述性,更易理解

JSON 使用 JavaScript 语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON库支持许多不同的编程语言。
语法规则:

JSON 语法是 JavaScript 对象表示法语法的子集。

  • 数据在以键值对的形式存在 (必须要使用双引号): "name":"张三"
  • 可以包含多个键值对,数据由逗号分隔: { "firstName":"John" , "lastName":"Doe" }
  • 花括号保存对象
  • 方括号保存数组

JSON实例:

{
"employees": [
{ "firstName":"Bill" , "lastName":"Gates" },
{ "firstName":"George" , "lastName":"Bush" },
{ "firstName":"Thomas" , "lastName":"Carter" }
]
}

二、JSON和XML处理数据的区别

首先我们学习JSON的,就需要搞清楚我们为什么使用 JSON?

JSON 通常是用来进行前后端的数据交互的一种数据格式.

服务端转换成一个JSON格式的数据接口(作为文件或作为 HttpRequest),然后从 web 服务器上读取,然后将读取到的 JSON 数据转换为 JavaScript 对象,然后在网页中使用该数据。

对于 AJAX 应用程序来说,JSON 比 XML 更快更易使用:

使用 XML步骤

  • 读取 XML 文档
  • 使用 XML DOM 来循环遍历文档
  • 读取值并存储在变量中

使用 JSON步骤

  • 读取 JSON 字符串
  • 用 eval() 处理 JSON 字符串

JSON和XML,都可以用来接收服务端的数据,xml需要通过xml解析器解析,而json可以直接js语法来进行解析

二、JSON数据转换

JSON字符串转为JS对象

1、eval()

JavaScript 函数 eval() 可用于将 JSON 文本转换为 JavaScript 对象。

eval() 函数在js当中可编译并执行任何 JavaScript 代码。

2、JSON.parse()

JSON.parse()是专门用来解析JSON字符串并返回对应的值

var txt = '{ "employees" : [' +
'{ "firstName":"Bill" , "lastName":"Gates" },' +
'{ "firstName":"George" , "lastName":"Bush" },' +
'{ "firstName":"Thomas" , "lastName":"Carter" } ]}';
var obj = eval ("(" + txt + ")"); //必须把文本包围在括号中,这样才能避免语法错误:
console.log(JSON.parse(txt));

JS对象转为JSON字符串

3、JSON.stringify()
JSON.stringify()是用来返回与指定值对应的JSON字符串

let a = {"name":"tom"}
console.log(typeof JSON.stringify(a));		//'{"name":"tom"}'

JSON不能够存储Data类型的数据,不允许包含函数,如果需要则都必须先转为字符串形式.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

什么是JSON数据格式? 的相关文章

随机推荐

  • 2.4.12 Profile虚拟SCSI卡参数

    最后更新2021 07 24 在本节我们参考 lt 图 250 虚拟SCSI卡参数设置 gt 来了解虚拟SCSI卡参数 其中左图来自普通AIX分区 右图来自VIO Server 图 251 虚拟SCSI卡参数设置 第一个参数与虚拟以太网卡相
  • Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvargus

    使用Jetson TX2连接猎豹相机 程序报错自动退出后 相机无法再次启动 报错 Error generated dvs git dirty git master linux multimedia nvgstreamer gst nvarg
  • dash 机器人 Android,用于 Dash 和 Dot 机器人的Blockly

    编辑点评 可视化少儿编程工具 用于 Dash 和 Dot 机器人的Blockly 介绍 用于 Dash 和 Dot 机器人的Blockly 请注意 要使用此应用程序 需要有 Wonder Workshop 机器人 Dash 或 Dot 以及
  • IDEA 中,Gradle:Download https:// jcenter.bintray.com/ 下载不下来

    1 找到C盘中当前目录 将gradle下来好的压缩包解压到该目录下 个人的根基目录不一致 根据实际情况看 2 修改自己电脑的DNS 晚上随便搜索 例如 202 96 128 68 3 再次运行IDEA 就可以正常打包了
  • 王者体验服服务器注册人数已满,王者官方大厅奖励有多难获得?服务器直接崩溃,玩家:别发红包了...

    可乐要加冰 乔妹在你心 大家好我是小乔妹 每天为您分享有趣的王者资讯 感谢您的关注 王者荣耀一直以来都有许许多多的活动 有限时活动也有长久活动 但官方专属大厅奖励活动确实王者史上第一次奖励 因此就有很多玩家期待这次专属活动的福利是什么 这次
  • xp系统打开ping服务器地址,WinXP如何用批处理文件鉴定IP地址Ping是否连通

    内容来源 系统之家 今天来聊聊一篇关于WinXP如何用批处理文件鉴定IP地址Ping是否连通的文章 现在就为大家来简单介绍下WinXP如何用批处理文件鉴定IP地址Ping是否连通 希望对各位小伙伴们有所帮助 鉴定方法 打开记事本 在窗口中输
  • 2021年10月程序员薪资出炉,你在哪个层级?

    叮咚 10月份程序员薪资表新鲜出炉 先从地域上来看 城市的平均工资排行 依然是北上深占据着前三位 其中北京以18094 3的平均工资成为了众多城市的天花板 接下来我们一起来看看新出炉的 10 月份程序员工资表 城市 10月程序员薪资排名靠前
  • python爬虫爬取高清图片——爬虫入门

    自动抓取某图片网站高清壁纸并下载保存 使用requests请求网页 bs4解析数据 话不多说直接看代码 刚学不久欢迎指点 codeing utf 8 Time 2022 11 7 15 22 Author 摸摸头发在不在 File geti
  • Hexagon GDB Debugger介绍(14)

    Hexagon GDB Debugger介绍 14 2 9 2 连续和单步调试 2 9 2 连续和单步调试 连续意味着恢复程序执行 直到程序正常完成 相比之下 单步调试意味着只执行程序的一个 step 其中 step 可能意味着一行源代码或
  • 数字信号处理实验(三):离散时间傅里叶变换

    1 dfdt function X dtft x n w 计算离散时间付里叶变换 X dtft x n w X 在w频率点上的DTFT数组 x n点有限长度序列 n 样本位置向量 w 频率点位置向量 X x exp j n w 2 idfd
  • vscode配置 SSH 链接服务器

    什么是SSH Secure Shell 安全外壳协议 简称SSH 是一种加密的网络传输协议 可在不安全的网络中为网络服务提供安全的传输环境 SSH通过在网络中创建安全隧道来实现SSH客户端与服务器之间的连接 SSH最常见的用途是远程登录系统
  • ICCV 2019 COCO & Mapillary挑战赛冠军团队技术分享

  • Data URI scheme

    什么是Data URI Scheme data URI scheme 允许我们使用内联 inline code 的方式在网页中包含数据 目的是将一些小的数据 直接嵌入到网页中 从而不用再从外部文件载入 常用于将图片嵌入网页 HTML中网页图
  • 西米支付:数字人民币常识普及

    1 1 什么是数字人民币 数字人民币 英文简称 e CNY 是由人民银行发行的数字形式的法定货币 由指定 运营机构参与运营 以广义账户体系为基础 支持银行账户松耦合功能 意味着用户既可 以选择将数字人民币钱包与自己已经开设的银行账户进行绑定
  • Linux基础知识专栏-进程通信

    一 通信原理及基础知识 通讯原理 服务端创建一个命名管道 并监控管道中是否存在内容 倘若有则读取 或者根据内容进行相应的响应 客户端判断是否存在命名管道 往管道中输入数据 服务端即可接收到数据 单向通讯实现 客户端写入 服务端读取 serv
  • 《14天从0到1学Java》第一天之07Java变量和常量

    这个是一套系列教程 一共14天 每天8篇 每篇需要5分钟 也就是说 你需要每天抽出40分钟来看教程 坚持14天就可以 轻松玩转JavaSE 我是Feri 我为自己代言 专注IT职场研发和教育N年 希望对于你的入门 有所帮助 本篇目录 一 常
  • JAVASE

    JAVASE 主要内容 API使用 Object类 String类 今日学习需加强部分 今 学习 情记录 写给明天的 第一章 API 1 1 概述 API Application Programming Interface 应用程序编程接口
  • Go_IO操作文件/目录

    创建 删除目录 Go语言IO操作可以通过os包或bufio包 bufio是带缓冲的 创建目录 os Mkdir 创建单个目录 如果存在则失败 os MkdirAll 创建多级目录 如果存在则不操作 name perm 文件路径 操作权限 f
  • coco-annotator的安装与使用

    文章目录 coco annotator的安装与使用 1 coco annotator是什么 2 coco annotator可以做什么 3 coco annotator的安装 3 1 先决条件 3 2 coco annotator的下载与安
  • 什么是JSON数据格式?

    一 什么是 JSON JSON 是 JavaScript 对象表示法 全称JavaScript Object Notation 类似于XML JSON 是轻量级的文本数据交换格式 它比 XML 更小 更快 更易解析 JSON 独立于语言 J