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(…...
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)
目录 选择题: 题一: 题二: 题三: 题四: 题五: 编程题: 题一:图片整理 思路一: 思路二: 题二:寻找数组的中心下标 思路一࿱…...
leetcode做题笔记93. 复原 IP 地址
有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 . 分隔。 例如:"0.1.2.201" 和 "192.168.1.1" 是 有效 IP 地址,但是 "0.011.255.2…...
新手福音:用快马平台生成wsl安装ubuntu图文教程,轻松入门linux开发
最近在学Linux开发,发现Windows Subsystem for Linux(WSL)真是个神器,特别是搭配Ubuntu使用,既保留了Windows的便利性,又能体验原汁原味的Linux环境。不过刚开始安装配置时踩了不少坑,后来用Ins…...
保姆级教程:在OpenEuler 22.03 LTS-SP4上,用cephadm搞定Ceph Pacific集群部署
在OpenEuler 22.03 LTS-SP4上部署Ceph Pacific集群的完整指南 OpenEuler作为国产操作系统的代表,凭借其高性能和安全性,正逐渐成为企业级应用的首选。而Ceph作为开源的分布式存储解决方案,以其高可靠性和可扩展性赢得了广泛认可。本文将详细介…...
管理员命令提示符 命令提示符 cmd
命令提示符区别...
避坑指南:Windows系统下WampServer2.2e与MySQL5.5.24的完美兼容配置
避坑指南:Windows系统下WampServer2.2e与MySQL5.5.24的完美兼容配置 在本地开发环境中,WampServer因其便捷的一键式部署深受开发者喜爱。但当系统已存在其他MySQL服务时,端口冲突问题往往让新手束手无策。本文将深入解决WampServer2.2e与既有…...
Laya3D美术进阶:巧用Shader实现APP级游戏效果还原
1. 为什么选择Laya3D的Shader技术? 很多开发者第一次接触Laya3D时,都会有个疑问:为什么不用Unity直接开发?特别是在微信小游戏这个特定场景下,Laya3D的Shader技术到底能带来什么优势?我做了三年Laya小游戏…...
APDS9960手势传感器驱动开发与嵌入式实战
1. APDS9960手势传感器库技术解析与嵌入式工程实践APDS9960是一款由Broadcom(原Avago)推出的集成环境光、颜色、接近度及手势识别功能的多模态光学传感器芯片。其核心价值在于将传统分立式光感方案(如独立ALSProximityGesture模块)…...
用Arduino和TCS34725颜色传感器做个桌面小助手:自动识别物体颜色并控制RGB灯带
用Arduino和TCS34725打造智能色彩互动系统:从硬件搭建到场景应用 在创客圈里,色彩交互一直是个充满魅力的领域。想象一下:当你把一杯橙汁放在桌面上,周围的灯光自动变成温暖的橙色;放上一本蓝色封面的书,工…...
基于STM32F与ESP8266的智能桌面天气时钟:从网络授时到OLED显示的完整实现
1. 项目背景与核心功能 最近在工作室捣鼓了一个特别实用的小玩意儿——用STM32F和ESP8266做的智能桌面天气时钟。这可不是普通的电子钟,它能自动联网校准时间,还能实时显示当地天气,放在书桌上既美观又实用。很多朋友看到后都问我是怎么做的&…...
保姆级教程:在Ubuntu 24.04上用QEMU桥接网络,让虚拟机秒连外网
在Ubuntu 24.04上实现QEMU虚拟机与宿主机网络互通的终极指南 对于需要在本地环境测试国产操作系统或运行隔离开发环境的开发者来说,QEMU虚拟化方案因其轻量高效而备受青睐。但让虚拟机与宿主机网络互通往往成为新手的第一道门槛。本文将彻底解决这个问题——通过桥接…...
猫抓cat-catch:高效媒体捕获与资源下载全指南
猫抓cat-catch:高效媒体捕获与资源下载全指南 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 猫抓cat-catch是一款专注于网页媒体资源捕…...
