当前位置: 首页 > news >正文

JSON的理解

文章目录

  • 1、什么是JSON
  • 2、为什么要用JSON
  • 3、JSON的格式规定
    • 3.1 对象(0bject):对应着JS中的对象
    • 3.2 数组(Array):对应着JS中的数组形式
    • 3.3 简单形式:对应着JS中的基础数据类型
  • 4、JSON和Js的转换
  • 5、JSON对象和Js对象的区别
  • 6、JSON对象和JSON字符串的区别以及转换
  • 7、JS对象加单引和不加引号的区别

1、什么是JSON

全称 JavaScript Object Notation,即JavaScript对象标记法
JSON本身是参考JavaScript对象的规则定义的,其语法与JavaScript定义对象的语法几乎完全相同

2、为什么要用JSON

JSON可以很轻松的和JS中的数据类型互相转换

3、JSON的格式规定

3.1 对象(0bject):对应着JS中的对象

		对象用大括号(“{}”)括起来,大括号里是一系列的“名称/值对”,两个并列的数据之间用逗号(“,”)隔开,使用英文的逗号(“,”),最后一个“名称/值对“之后不要加逗号JSON中Key/Value不能使用单引号JSON中对象的属性名必须是双引号,属性值如果是字符串也必须是双引号JSON只要涉及到字符串就必须使用双引号,不支持undefined

3.2 数组(Array):对应着JS中的数组形式

		数组表示一系列有序的值,用方括号(“[]”)包围起来,并列的值之间用逗号分隔数组中的字符串必须使用双引号JSON中只要涉及到字符串 就必须使用双引号不支持undefined[1,2,"three","four",true,false,null,[1,2],{"name":"张珊"}]

3.3 简单形式:对应着JS中的基础数据类型

		JSON的简单值的格式对应着JS中的基础数据类型:数字 字符串 布尔值JS中一共有六种数据类型:基本类型和引用类型JS基本数据类型五种:String(字符串)、Number(数值)、Boolean(布尔值)、Null(空对象)、Undefined(未赋值)JS引用数据类型一种:Object(对象类型),如:Object、array、function简单形式1:名称/值对(Name/Value)名称(Name)是一个字符串,要用双引号括起来,不能用单引号,也不能没有引号,这点与JS不同值的类型只有七种:字符串(string)、数值(number)、对象(object)、数组(array), true、false、null。不能有undefined、函数等类型简单形式2:字符串(string)英文双引号括起来,不能用单引号,也不能没有。字符串中不能单独出现双引号(”)和右斜杠(“\")如果要打双引号或右斜杠,需要使用“右斜杠+字符”的形式,例如\”和\\注意:JSON中没有undefined、字符串必须使用双引号、不能用注释的

4、JSON和Js的转换

	JSON字符串转换为JS对象,JSON.parse()JS对象转化为JSON字符串,JSON.stringify()

5、JSON对象和Js对象的区别

	JSON是JS的一种简单的数据格式,JSON是javaScript的原生格式,它是一种严格的js对象的格式,JSON的属性名必须有双引号,如果值是字符串,也必须是双引号;JSON是从属于JS,并且在处理JSON,数据时可直接使用JS内置API;案例://JS对象var obj1={width:100,height:200}//JS对象(加了引号的属性名)var obj2={'width':100,'height':100}//JSON格式的JS对象(JSON对象,属性名使用双引号)

var obj3={“width”:100,“height”:100,“name”:“rose”}
//JSON格式的字符串(只是一个字符串)
     var obj4=‘{“width”:100,“height”:200,“name”:“rose”}’;
区别:
JSON:仅仅是一种数据格式,1.键值对方式,键必须加双引号 2.值不能是方法函数,不能是undefined/NaN
Js对象:表示类的实例,1.键值对方式,键不加引号 2.值可以是函数、对象、字符串、数字、boolean 等

6、JSON对象和JSON字符串的区别以及转换

	区别:Json对象:对象的值可以用 “对象.属性” 进行访问Json字符串:单引号或者双引号引起来var json = '{"name":"imooc"}'; // 这个是正确的JSON格式var json = "{\"name\":\"imooc\"}"; // 这个也是正确的JSON格式转换:Json对象转化为Json字符串( JSON.stringify() ) var  obj = {"name":"shily","sex":"女","age":"23"}//json对象var  objToStr = JSON.stringify(obj);console.log(objToStr);console.log(typeof objToStr)

7、JS对象加单引和不加引号的区别

在JavaScript中,加引号与不加引号都是一样用,都是有效的
什么时候有区别。即在使用一些非合法命名规则的时候,就有必要加单引号(比如属性名是以数字开头,就需要加单引号
 案例:var obj = {name:'张珊','age':18,'246addr':'北京'};console.log(obj.name);console.log(obj['age'])console.log(obj['246addr'])

相关文章:

JSON的理解

文章目录 1、什么是JSON2、为什么要用JSON3、JSON的格式规定3.1 对象(0bject):对应着JS中的对象3.2 数组(Array):对应着JS中的数组形式3.3 简单形式:对应着JS中的基础数据类型 4、JSON和Js的转换5、JSON对象…...

面试热题(二叉树的最大路径)

路径 被定义为一条从树中任意节点出发,沿父节点-子节点连接,达到任意节点的序列。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点,且不一定经过根节点。 路径和 是路径中各节点值的总和。 给定一个二叉树的根节点 root…...

C#设计模式之--六大原则 开闭原则

设计模式六大原则是单一职责原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特法则、开闭原则。它们不是要我们刻板的遵守,而是根据实际需要灵活运用。只要对它们的遵守程度在一个合理的范围内,努为做到一个良好的设计。本文主要介绍一下.NET(C#)…...

编写Dockerfile制作自己的镜像并推送到私有仓库

说明:我将用到的私有仓库是Harbor,安装教程参考我的这一篇文章: 安装搭建私有仓库Harbor_Word_Smith_的博客-CSDN博客 一、案例1 1、要求 编写Dockerfile制作Web应用系统nginx镜像,生成镜像nginx:v1.1,并推送其到私…...

华为OD-分积木/分苹果

题目描述 哥哥弟弟分一堆积木,每块积木重量不同。弟弟要求平分两组,每组数量可以不同但总重量必须相等。 然而弟弟只会二进制并且加法不进位。例如三块积木 3,5,6 分成两组 [3] 和 [5,6] 弟弟认为 5(二进制1001)加上6&#xff08…...

Mysql的引擎有哪些?支持事物么?DB储存引擎有哪些?

Mysql的引擎有哪些?支持事物么?DB储存引擎有哪些? MySQL有多种存储引擎,每种存储引擎有各自的优缺点,可以择优选择使用: MyISAM、InnoDB、MERGE、MEMORY(HEAP)、BDB(BerkeleyDB)、EXAMPLE、FEDERATED、ARCH…...

【懒加载】js实现懒加载、vue实现图片懒加载指令

懒加载 延迟加载,对于一个很长的页面,优先加载可视区域的内容,其他部分等进入可视区域时再加载 懒加载作用 是一种网页性能优化的方式,它能极大的提升用户体验。比如一个页面中有很多图片,但是首屏只出现几张&#…...

微信小程序教学系列(7)

第七章:小程序安全和权限管理 第一节:小程序安全性保障 在开发小程序时,我们要时刻牢记小程序的安全性。毕竟,我们可不希望我们的小程序被黑客入侵或者用户的隐私被泄露。所以,让我们一起来了解一下如何保障小程序的…...

Android 9.0 kenel和frameworks中修改ram运行内存的功能实现

1.前言 在9.0的系统rom产品开发定制中,在对一些产品开发中的配置需求方面,在产品后续订单中,在某些机型中需要升级下系统内核配置,项目时间比较仓促,所以 来不及对硬件重新定制,就需要软件方面在ram运行内存的容量大小方面作假,修改ram真实的大小容量,所以就需要在ken…...

PHP实践:获取网络上图片的长宽以及图片类型

🏆作者简介,黑夜开发者,全栈领域新星创作者✌,CSDN博客专家,阿里云社区专家博主,2023年6月CSDN上海赛道top4。 🏆数年电商行业从业经验,历任核心研发工程师,项目技术负责…...

使用 DPO 微调 Llama 2

简介 基于人类反馈的强化学习 (Reinforcement Learning from Human Feedback,RLHF) 事实上已成为 GPT-4 或 Claude 等 LLM 训练的最后一步,它可以确保语言模型的输出符合人类在闲聊或安全性等方面的期望。然而,它也给 NLP 引入了一些 RL 相关…...

数据库——事务,事务隔离级别

文章目录 什么是事务?事务的特性(ACID)并发事务带来的问题事务隔离级别实际情况演示脏读(读未提交)避免脏读(读已提交)不可重复读可重复读防止幻读(可串行化) 什么是事务? 事务是逻辑上的一组操作,要么都执行,要么都不执行。 事务最经典也经常被拿出…...

对《VB.NET通过VB6 ActiveX DLL调用PowerBasic及FreeBasic动态库》的改进

《VB.NET通过VB6 ActiveX DLL调用PowerBasic及FreeBasic动态库》使用的Activex DLL公共对象是需要先注册的。https://blog.csdn.net/weixin_45707491/article/details/132437502?spm1001.2014.3001.5501 Activex DLL事前注册,一次多用说起来也不是啥大问题&#x…...

【PHP】数据类型运算符位运算

文章目录 数据类型简单(基本)数据类型:4个小类复合数据类型:2个小类特殊数据类型:2个小类类型转换类型判断整数类型浮点类型布尔类型 运算符赋值运算符算术运算符比较运算符逻辑运算符连接运算符错误抑制符三目运算符自…...

使用 Nacos 作为 Spring Boot 配置中心

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…...

微服务 Eureka

Eureka Eureka是Netflix开源的一个用于构建基于微服务架构的服务发现和注册中心技术。在微服务架构中,系统被拆分成多个小型、自治的服务,每个服务负责特定的业务功能。这些服务需要能够相互发现和通信,这就是Eureka所提供的功能。 Eureka主…...

Spring Boot 事务和事务传播机制

1. 为什么需要事务? 事务定义 将一组操作封装成一个执行单元 (封装到一起),这一组的执行具备原子性, 那么就要么全部成功,要么全部失败. 为什么要用事务? 比如转账分为两个操作: 第一步操作:A 账户-100 元。 第二步操作:B账户 100 元。 如果没有事务&a…...

计算机组成原理(巨巨巨基础篇)

有关《计算机组成原理》课本中有关 内存计算换算(字,位,字节) 个人理解 前面知识点搭建框架,最后两道例题是直观理解体会 主存储器的基本概念 位:存储信息的最小单位,称为存储位或存储元。 背…...

C语言:选择+编程(每日一练Day7)

目录 选择题: 题一: 题二: 题三: 题四: 题五: 编程题: 题一:图片整理 思路一: 思路二: 题二:寻找数组的中心下标 思路一&#xff1…...

leetcode做题笔记93. 复原 IP 地址

有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 . 分隔。 例如:"0.1.2.201" 和 "192.168.1.1" 是 有效 IP 地址,但是 "0.011.255.2…...

label-studio的使用教程(导入本地路径)

文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

MongoDB学习和应用(高效的非关系型数据库)

一丶 MongoDB简介 对于社交类软件的功能,我们需要对它的功能特点进行分析: 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具: mysql:关系型数据库&am…...

Day131 | 灵神 | 回溯算法 | 子集型 子集

Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣(LeetCode) 思路: 笔者写过很多次这道题了,不想写题解了,大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...

可靠性+灵活性:电力载波技术在楼宇自控中的核心价值

可靠性灵活性:电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中,电力载波技术(PLC)凭借其独特的优势,正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据,无需额外布…...

定时器任务——若依源码分析

分析util包下面的工具类schedule utils: ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类,封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz,先构建任务的 JobD…...

python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

数据链路层的主要功能是什么

数据链路层(OSI模型第2层)的核心功能是在相邻网络节点(如交换机、主机)间提供可靠的数据帧传输服务,主要职责包括: 🔑 核心功能详解: 帧封装与解封装 封装: 将网络层下发…...

嵌入式学习笔记DAY33(网络编程——TCP)

一、网络架构 C/S (client/server 客户端/服务器):由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序,负责提供用户界面和交互逻辑 ,接收用户输入,向服务器发送请求,并展示服务…...

Go 语言并发编程基础:无缓冲与有缓冲通道

在上一章节中,我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道,它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好&#xff0…...

处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的

修改bug思路: 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑:async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...