JSON详细教程
😊JSON详细教程
- 🚩JSON简介
- ☃️JSON语法规则
- 🔊JSON和JavaScript对象的区别
- ☃️JSON数据类型
- 字符串
- 🔊数字
- 🔊布尔值
- 🔊数组
- 🔊对象
- 🔊Null
- ☃️JSON对象
- 🔊访问JSON对象的值
- 🔊循环对象
- 🔊修改JSON对象的值的方法
- 🔊删除JSON对象属性
- ☃️JSON数组
- 🔊访问JSON数组里的值
- 🔊修改JSON数组里的值
- 🔊删除JSON数组元素
- ☃️JSON的使用
- 🔊JSON.parse()
- 🔊JSON.stringify()
- 🔊JSON5
- 📖总结
😊各位小伙伴们,新文章出炉了!!!
🚩JSON简介

JSON 是 JavaScript 对象表示法(JavaScript Object Notation)的缩写,它是一种轻量级的数据交换格式(数据交换是指,两设备之间建立连接并互相传递数据的过程)。类似XML,但比XML更流行,它易于阅读和编写,并且易于解析和生成。JSON在Web开发领域有着举足轻重的地位。并且大多数编程语言都支持JSON,一些本身不支持的语言也可以通过集成第三方库使用JSON。
JSON是基于ECMAScript(European Computer Manufactures Association,欧洲计算机协会制定的JS规范)的一个子集,完全采用独立于编程语言的文本格式来存储和表示数据。JSON易于计算机解析和生成,通常用于Web客户端(浏览器)与Web服务器之间传递数据。
JSON与XML相对比,既有优点,也有不足。与XML相同的是:JSON是纯文本,其本身具有“自我描述性(人类可读)”,和XML一样都具有层级结构(值中存在值),都可以被JavaScript进行解析,同时也可以使用AJAX进行传输。与XML不同的是:JSON没有结束标签,语法格式上相对于XML更简洁,且读写速度更快,能够使用内建的JavaScript eval()方法进行解析,省略了保留字。
之所以使用JSON,最主要的原因是JavaScript,JavaScript是Web开发中不可或缺的技术之一,而JSON是基于JavaScript的一个子集,JavaScript默认就支持JSON,JSON被广泛应用于Web开发、移动应用、API接口设计等领域。例如,在前后端交互中,使用JSON作为数据传输格式可以方便地实现数据的序列化和反序列化。
☃️JSON语法规则
JSON中的键值对是由一个键和一个值组成,它们之间用冒号:分割,多个键值对之间用逗号,分割。键必须为字符串类型,值可以是字符串、数字、布尔值、对象、数组或null。键和字符串都必须使用双引号括起来。
语法格式:
key:value
名称/值对包括字段名称(在双引号中),后面写一个冒号,然后是值:
"name":"学习JSON"
需要注意的是,JSON语法中不能出现单引号和结束分号;,因为它是一种纯数据格式,不是语句。另外,JSON语法还可以使用反斜线\进行转义,用于表示一些特殊字符和字符集。
🔊JSON和JavaScript对象的区别
JSON和JavaScript对象有很多相似之处,比如它们都可以表示键值对形式的数据,都可以通过点运算符访问成员等,但在很多方面也有重要的区别:
-
JSON是一种数据格式,主要用于在不同编程语言之间传输和共享数据;而JavaScript对象则是JavaScript程序中的一个基本概念,用于封装数据和行为。
-
JSON只能包含六种数据类型:字符串、数字、布尔值、数组、对象和null;而JavaScript对象除了这些之外,还可以包含函数和其他类型的值。
-
JSON中的键必须用双引号包裹;而JavaScript对象的键既可以使用单引号,也可以使用双引号或不使用引号。
-
JSON不能包含注释;而JavaScript对象则可以包含注释。
-
JSON是一种纯文本格式,可以直接在网络上传输和存储;而JavaScript对象则需要被序列化成JSON格式才能在网络上传输和存储。
☃️JSON数据类型
字符串
JSON中的字符串需要使用双引号定义(字符串必须使用双引号,不能使用单引号),例如"hello word"字符串中可以包含零个或多个Unicode字符。另外,JSON的字符串中也可以包含一些转义字符。
{"name":"John","sex":"男","address":"中国"
}
🔊数字
JSON中的数字既可以是整数,也可以是浮点数。但是,JSON中不能使用八进制和十六进制表示数字,但可以使用e或E来表示10的指数。
{"number1":1,"number2":2,"number3":3
}
🔊布尔值
JSON中的布尔值只有两个,即true和false。
{"value1":true,"value2":false
}
🔊数组
JSON中的数组是一组有序的值的集合,每个值都用逗号分隔,例如:[1, 2, 3]。
{"array":[{"name":"张三","age":18},{"name":"李四","age":19},{"name":"王五","age":20}]
}
🔊对象
JSON中的对象是一组键值对的集合,每个键值对都用逗号分隔,值书写在{}中。JSON对象可以包含多个名称/值对。例如:{“name”: “John”, “age”: 30}。
{"name":"John","age":18,"city":"New York"
}
🔊Null
JSON中的null表示没有任何值。
☃️JSON对象
JSON 对象是由键值对组成的无序集合,键和值使用冒号:分隔,每个键值对之间使用逗号 ,分隔。键必须是字符串类型,值可以是合法的 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔值或 null),JSON对象使用在大括号{...}中书写。例如:{"name": "Alice", "age": 25}。
实例:
{"name":"张三","age":18,"sex":"男"...
}
🔊访问JSON对象的值
点运算符(.):如果知道键的名称,可以使用点运算符直接访问对象中的值。语法格式为 对象.键。例如,假设有一个 JSON 对象 person,包含键值对 { "name": "Alice", "age": 25 },可以通过 person.name 来访问 name 的值,通过 person.age 来访问 age 的值。

运行结果如下

方括号运算符([ ]):如果不知道键的名称,或者键的名称包含特殊字符,可以使用方括号运算符来访问 JSON 对象中的值。语法格式为 对象[键]。例如,假设有一个 JSON 对象 person,包含键值对 { "name": "Alice", "age": 25 },可以通过 person["name"] 来访问 name 的值,通过 person["age"] 来访问 age 的值。

运行结果如下

假设有一个 JSON 对象 person,包含嵌套的键值对:
var person = {"name": "Alice","age": 25,"address": {"street": "123 Main St","city": "New York","country": "USA"}
};
要访问嵌套对象中的值,可以使用连续的点运算或方括号运算符。例如,要访问地址的城市,可以使用 person.address.city 或 person["address"]["city"]:
var city = person.address.city; // "New York"
var city = person["address"]["city"]; // "New York"
运行结果如下

总之,使用点运算符或方括号运算符,可以根据键的名称或索引值来访问 JSON 对象中的值,无论是在一级还是多级嵌套的情况下。
🔊循环对象
在JavaScript中,有两种主要的方法可以用来循环JSON对象的属性。
可以使用for-in来循环对象的属性
var jsonObject = { "name": "John", "age": 30, "city": "New York" };
for (var key in jsonObject) {if (jsonObject.hasOwnProperty(key)) {console.log("Key: " + key);console.log("Value: " + jsonObject[key]);}
}
运行结果如下

在使用for...in语句时,需要检查对象是否拥有该属性,因为某些内置属性也可能被包含在for…in循环中。如果你只想遍历自己的自定义属性,可以使用hasOwnProperty()方法。
🔊修改JSON对象的值的方法
要修改JSON对象的值,首先需要将JSON字符串转换为JavaScript对象,然后再对其中的属性进行修改。以下是具体的步骤:
1.将JSON字符串转换为JavaScript对象:可以使用JSON.parse()函数将JSON字符串转换为JavaScript对象。
let jsonStr = '{"name":"John", "age":30, "city":"New York"}';
let jsonObj = JSON.parse(jsonStr);
2.修改JavaScript对象的值:可以使用点运算符或方括号运算符来修改JavaScript对象的属性值。
// 使用点运算符
jsonObj.name = 'Mike';// 使用方括号运算符
jsonObj['age'] = 45;
3.将JavaScript对象转换回JSON字符串:可以使用JSON.stringify()函数将JavaScript对象转换回JSON字符串。
let updatedJsonStr = JSON.stringify(jsonObj);
console.log(updatedJsonStr); // 输出 {"name":"Mike","age":45,"city":"New York"}
运行结果如下

注意,在使用JSON.parse()和JSON.stringify()函数时,需要确保字符串的内容符合JSON规范,否则可能会抛出错误。另外,使用方括号运算符可以更灵活地操作属性,特别是当不确定属性名称或者属性名称来自变量时。
🔊删除JSON对象属性
要删除JSON对象中的某个属性,可以使用JavaScript的delete运算符。
delete jsonObj.age;
//或者使用中括号([])来删除 JSON 对象的属性
delete myObj.sites["age"]
检查该属性是否已被成功删除
console.log(jsonObj.age); // 输出 undefined
运行结果如下

注意,在使用delete运算符时,如果该属性存在,则会被成功删除并且返回true;如果该属性不存在,则不会报错并且返回false。此外,删除了某属性后,该属性的值变为undefined,但其键仍存在于对象中,只是值为空。因此,如果想彻底删除某个属性,还需要将其从对象中移除。
☃️JSON数组
JSON 数组是有序的值的集合,用方括号 [] 表示,每个值之间使用逗号 , 分隔。值可以是任意类型,包括字符串、数值、布尔值、对象或其他数组。例如:["apple", "banana", "orange"]。
实例
{"name":"网站","num":3,"sites":["google","taobao","baidu"]
}
🔊访问JSON数组里的值
1.索引访问:JSON 数组中的值按照索引顺序排列,索引从 0 开始。你可以使用方括号运算符 [] 结合索引来访问数组中的值。语法格式为 数组[索引]。例如,假设有一个 JSON 数组 fruits,包含多个水果:
var fruits = ["apple", "banana", "orange"];
可以通过索引访问数组中的值。例如,使用 fruits[0] 可以访问数组中的第一个元素,使用 fruits[1] 可以访问数组中的第二个元素,以此类推。
var firstFruit = fruits[0]; // "apple"
var secondFruit = fruits[1]; // "banana"
运行结果如下

2.循环遍历:如果想遍历整个 JSON 数组并访问其中的每个值,可以使用循环(如 for 循环或 forEach 循环)来实现。例如,使用 for 循环来遍历 fruits 数组:
var fruits = ["apple", "banana", "orange"];for (var i = 0; i < fruits.length; i++) {console.log(fruits[i]);
}
运行结果如下

要访问嵌套 JSON 数组中的值,可以结合点运算符和方括号运算符。使用点运算符可以直接访问到数组对象,在这之上再使用索引或键来访问特定的属性。同时,可以使用循环来遍历整个 JSON 数组。
假设有一个 JSON 对象 data,包含嵌套的数组:
var data = {"students": [{ "name": "Alice", "age": 20 },{ "name": "Bob", "age": 25 },{ "name": "Charlie", "age": 22 }]
};
要访问学生数组中的第一个学生的姓名,可以使用 data.students[0].name 或 data["students"][0]["name"]:
var name = data.students[0].name; // "Alice"
var name = data["students"][0]["name"]; // "Alice"
运行结果如下

🔊修改JSON数组里的值
要修改JSON数组中的值,可以先使用JSON.parse()函数将JSON字符串转换为JavaScript数组,然后按照以下步骤进行修改:
1.通过索引访问数组元素
let jsonArray = JSON.parse('[{"name":"John", "age":30}, {"name":"Jane", "age":20}]');
let obj = jsonArray[0];
2.要修改数组元素中的属性,可以直接使用点运算符或方括号运算符
obj.name = 'Mike'; // 直接使用点运算符
obj['age'] = 45; // 使用方括号运算符
3.修改完对象属性后,需要再次将整个数组转换回JSON格式
jsonArray = JSON.stringify(jsonArray);
console.log(jsonArray); // 输出 '[{"name":"Mike","age":45},{"name":"Jane","age":20}]'
代码运行如下

需要注意的是,如果JSON数组中的元素本身也是一个对象,那么还需要先将其转换为JavaScript对象,才能进行修改。此外,修改后的JSON字符串需要再次使用JSON.stringify()函数转换为JSON格式。
🔊删除JSON数组元素
要删除JSON数组中的值,可以先使用JSON.parse()函数将JSON字符串转换为JavaScript数组,然后按照以下步骤进行删除:
1.使用标准的JavaScript数组方法删除元素
let jsonArray = JSON.parse('[{"name":"John", "age":30}, {"name":"Jane", "age":20}]');// 删除第一个元素
jsonArray.splice(0, 1);console.log(JSON.stringify(jsonArray)); // 输出 '[{"name":"Jane","age":20}]'
运行结果如下

2.如果想更精确地指定要删除哪个元素,也可以通过索引来查找并删除它
let jsonArray = JSON.parse('[{"name":"John", "age":30}, {"name":"Jane", "age":20}]');// 删除“John”对象
for(let i=0; i<jsonArray.length; i++) {if(jsonArray[i].name === 'John') {jsonArray.splice(i, 1);break;}
}console.log(JSON.stringify(jsonArray)); // 输出 '[{"name":"Jane","age":20}]'
运行结果如下

需要注意的是,这些方法只能删除整个元素,而不能删除单个属性。如果要删除属性,需要先将元素转换为对象,再使用delete运算符删除相应的属性,然后将整个数组转换回JSON格式。
☃️JSON的使用
🔊JSON.parse()
JSON.parse() 是一个内置于所有现代浏览器和Node.js中的JavaScript函数,用于将符合JSON格式的字符串解码为JavaScript对象。以下是关于JSON.parse()的一些重要细节:
-
语法:JSON.parse(text[, reviver])
text:必需参数,表示要被解析成JavaScript值的字符串。reviver:可选参数,表示转换器函数,它可以处理每个属性。在将属性添加到新创建的对象之前,会对每个属性应用此函数。
-
返回值:如果输入的是有效的JSON文本,那么JSON.parse()函数将返回一个新的JavaScript对象。如果输入的是无效的JSON文本,则会抛出一个SyntaxError异常。
-
示例:
let jsonString = '{"name":"John", "age":30, "city":"New York"}';let obj = JSON.parse(jsonString);console.log(obj); // 输出:{ name: 'John', age: 30, city: 'New York' } -
注意事项:
- 在使用JSON.parse()函数时,需要注意输入的字符串必须是有效的JSON格式,否则会导致解析失败并抛出错误。
- 如果在解析过程中遇到未知字符或非法语法,则会导致JSON.parse()函数停止解析并抛出错误。
- 如果想要更全面地控制解析过程,可以提供一个可选的转换器函数作为第二个参数,以便在将属性添加到新创建的对象之前对其进行处理。
运行结果如下

🔊JSON.stringify()
JSON.stringify() 是一个内置于所有现代浏览器和Node.js中的JavaScript函数,用于将JavaScript值转换为符合JSON格式的字符串。以下是关于JSON.stringify()的一些重要细节:
-
语法:JSON.stringify(value[, replacer[, space]])
value:必需参数,表示要被转换成JSON字符串的JavaScript值。replacer:可选参数,表示转换器函数或数组,它可以决定哪些值应该被包含在最终的JSON字符串中,以及它们应如何被转换。space:可选参数,表示要在输出的JSON字符串中的每个级别前插入多少个空格,以提高可读性。
-
返回值:如果输入的值可以被安全地转换为JSON格式,那么JSON.stringify()函数将返回一个新的JSON字符串。如果输入的值不能被安全地转换为JSON格式,则会抛出一个TypeError异常。
-
示例:
let obj = { name: 'John', age: 30, city: 'New York' };let jsonString = JSON.stringify(obj);console.log(jsonString); // 输出:'{ "name": "John", "age": 30, "city": "New York" }' -
注意事项:
- 在使用JSON.stringify()函数时,需要注意JavaScript对象中的函数、RegExp对象、Date对象、DOM节点等特殊类型的值无法被安全地转换为JSON格式,因此在转换过程中会被忽略。
- 如果提供的可选参数
replacer是一个数组,那么只有那些在数组中存在的属性才会被包含在最终的JSON字符串中。 - 如果提供了可选参数
space,那么在输出的JSON字符串中的每个级别前都会插入相应数量的空格,以提高可读性。
运行结果如下

🔊JSON5
JSON5是一种扩展的JSON语法,它允许使用一些额外的特性,如:
- 多行注释(// 和 /* … */);
- 字面量NaN和Infinity;
- 布尔值true和false的大写形式;
- 函数表达式;
- 箭头函数;
- Set和Map结构;
- 引用类型;
- 类;
- 导出和导入;
- 字符串模板等等。
JSON5并不直接支持JavaScript的所有功能,而是只支持一些常用的特性。这使得它可以在跨平台的环境中更好地工作,并且具有更好的兼容性。
注意,尽管许多现代浏览器都支持JSON5,但并不是所有的环境都支持。因此,在实际使用中,建议先使用JSON.parse()和JSON.stringify()函数将JSON5转换为标准的JSON,然后再进行处理。
📖总结
总的来说,JSON 是一种简洁、易于理解和跨平台的数据格式,常用于前后端数据传输和存储。通过学习 JSON,我们可以更好地处理和操作数据。
🎨觉得不错的话记得点赞收藏呀!!🎨
😀别忘了给我关注~~😀
相关文章:
JSON详细教程
😊JSON详细教程 🚩JSON简介☃️JSON语法规则🔊JSON和JavaScript对象的区别 ☃️JSON数据类型字符串🔊数字🔊布尔值🔊数组🔊对象🔊Null ☃️JSON对象🔊访问JSON对象的值&a…...
DSP介绍及CCS
文章目录 CCS版本编译器CCS使用注意严禁中文 CCS的基本操作新建工程导入现有工程调整字体的大小工程界面恢复标签的使用 仿真盒小虫子进入在线Debug 仿真器芯片TMS320F28355基本介绍特性 DSP中特殊指令dsp指令中的EALLOW EDIS CCS TI官网 版本 CCS版本: CCS8.3.1…...
周期串(Periodic Strings)
做了我两个小时,我真的裂开 之前已经发过一次了,走在回宿舍的路上突然发现有些情况并不适用,赶紧删掉了 题目如下: 如果一个字符串可以由某个长度为k的字符串重复多次得到,则称该串以k为周期。例如:abca…...
C语言——猜凶手
题目: 日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。 以下为4个嫌疑犯的供词: A说:不是我。 B说:是C。 C说:是D。 D说:C在胡说 已知3个人说了真话,1个人说的是假话。…...
【TiDB】TiDB离线方式部署
目录 1 下载TiDB离线组件包 2 安装TiUP 3 合并离线包 4 TIDB 软件和硬件环境建议配置 5 TiDB环境与系统配置检查 6 生成集群初始化配置文件模板 7 执行部署命令 1 检查就能存在的潜在风险 2 手动修复风险 3 部署 TiDB 集群 8 查看TIUP管理的集群情况 9 检查部署的…...
android shape绘制半圆
<?xml version"1.0" encoding"utf-8"?><shape xmlns:android"http://schemas.android.com/apk/res/android"android:shape"rectangle"><sizeandroid:width"20dp"android:height"10dp" /><…...
【开源】基于Vue和SpringBoot的个人健康管理系统
项目编号: S 040 ,文末获取源码。 \color{red}{项目编号:S040,文末获取源码。} 项目编号:S040,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 健康档案模块2.2 体检档案模块2.3 健…...
qt QString字符串常用转换
QString字符串转换类型,常见的有: 1. const char*初始化QString.即const char*类型转QString字符串类型. QString str("肖战");qDebug() <<str; 2. QChar数组初始化QString.即QChar字符数组转QString字符串. QChar cHello[5] {H,e,l,l,o};QString strHell…...
JAVA sql 查询3
-- 1. 求各个月入职的的员工个数 select date_format(hiredate,%m),count(date_format(hiredate,%m)) from employees group by date_format(hiredate,%m) -- 2. 查询 50 号部门,60 号部门,70 号部门的各个部门的平均工资 SELECT department_id,avg(salary) FROM employees WH…...
PHP while 和 do-while 循环 学习资料
PHP while 和 do-while 循环 在 PHP 中,while 和 do-while 是两种常用的循环结构,用于重复执行一段代码,直到满足指定条件为止。以下是对这两种循环的介绍和示例: while 循环 while 循环用于在指定条件为真时重复执行代码块。循…...
OpenJudge NOI 1.8 16:矩阵剪刀石头布 c语言
描述 Bart的妹妹Lisa在一个二维矩阵上创造了新的文明。矩阵上每个位置被三种生命形式之一占据:石头,剪刀,布。每天,上下左右相邻的不同生命形式将会发生战斗。在战斗中,石头永远胜剪刀,剪刀永远胜布&#…...
mysql 性能参数调优详解
1 优化连接池 连接池运行机制 MySQL连接器中的连接池,用以提高数据库密集型应用程序的性能和可扩展性,默认启用。MySQL连接器负责管理连接池中的多个连接,自动创建、打开、关闭和破坏连接,多个连接的创建,可满足多客户…...
基于.net framework4.0框架下winform项目实现寄宿式web api
首先Nuget中下载包:Microsoft.AspNet.WebApi.SelfHost,如下: 注意版本哦,最高版本只能4.0.30506能用。 1.配置路由 public static class WebApiConfig{public static void Register(this HttpSelfHostConfiguration config){// …...
Vue中项目进行文件压缩与解压缩 (接口返回文件的url压缩包前端解析并展示出来,保存的时候在压缩后放到接口入参进行保存)
安装 npm install pako在Vue组件中引入pako: import pako from pako;接口返回的url是这个字段 tableSsjsonUrl 其实打开就是压缩包const source await tableFileUrl ({ id: this.$route.query.id}); if(source.code 0) {this.titleName source.data.tableNam…...
Linux shell编程学习笔记31:alias 和 unalias 操作 命令别名
目录 0 前言1 定义别名2 查看别名 2.1 查看所有别名2.2 查看某个别名 2.2.1 alias 别名2.2.2 alias | grep 别名字符串2.2.3 使用 CtrlAltE 组合键3 unalias:删除别名4 如何执行命令本身而非别名 4.1 方法1:使用 CtrlAltE 组合键 && unalias4…...
Django JSONField/HStoreField SQL注入漏洞(CVE-2019-14234)
漏洞描述 Django 于2019年8月1日 日发布了安全更新,修复了 JSONField 和 HStoreField 两个模型字段的 SQL 注入漏洞。 参考链接: Django security releases issued: 2.2.4, 2.1.11 and 1.11.23 | Weblog | DjangoDjango JSONField SQL注入漏洞&#x…...
Unity中Shader的Standard材质解析(一)
文章目录 前言一、在Unity中,按一下步骤准备1、在资源管理面板创建一个 Standard Surface Shader2、因为Standard Surface Shader有很多缺点,所以我们把他转化为顶点片元着色器3、整理只保留主平行光的Shader效果4、精简后的最终代码 前言 在Unity中&am…...
5.1 Windows驱动开发:判断驱动加载状态
在驱动开发中我们有时需要得到驱动自身是否被加载成功的状态,这个功能看似没啥用实际上在某些特殊场景中还是需要的,如下代码实现了判断当前驱动是否加载成功,如果加载成功, 则输出该驱动的详细路径信息。 该功能实现的核心函数是NtQuerySys…...
Linux之高级IO
目录 IO基本概念五种IO模型钓鱼人例子五种IO模型高级IO重要概念同步通信 VS 异步通信阻塞 VS 非阻塞其他高级IO阻塞IO非阻塞IO IO基本概念 I/O(input/output)也就是输入和输出,在著名的冯诺依曼体系结构当中,将数据从输入设备拷贝…...
进程和线程的关系
⭐ 作者:小胡_不糊涂 🌱 作者主页:小胡_不糊涂的个人主页 📀 收录专栏:JavaEE 💖 持续更文,关注博主少走弯路,谢谢大家支持 💖 进程&线程 1. 什么是进程PCB 2. 什么是…...
后进先出(LIFO)详解
LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子(…...
阿里云ACP云计算备考笔记 (5)——弹性伸缩
目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...
MySQL用户和授权
开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务: test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...
解读《网络安全法》最新修订,把握网络安全新趋势
《网络安全法》自2017年施行以来,在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂,网络攻击、数据泄露等事件频发,现行法律已难以完全适应新的风险挑战。 2025年3月28日,国家网信办会同相关部门起草了《网络安全…...
[大语言模型]在个人电脑上部署ollama 并进行管理,最后配置AI程序开发助手.
ollama官网: 下载 https://ollama.com/ 安装 查看可以使用的模型 https://ollama.com/search 例如 https://ollama.com/library/deepseek-r1/tags # deepseek-r1:7bollama pull deepseek-r1:7b改token数量为409622 16384 ollama命令说明 ollama serve #:…...
Python 训练营打卡 Day 47
注意力热力图可视化 在day 46代码的基础上,对比不同卷积层热力图可视化的结果 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import DataLoader import matplotlib.pypl…...
Leetcode33( 搜索旋转排序数组)
题目表述 整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0 < k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k1], …, nums[n-1], nums[0], nu…...
Xela矩阵三轴触觉传感器的工作原理解析与应用场景
Xela矩阵三轴触觉传感器通过先进技术模拟人类触觉感知,帮助设备实现精确的力测量与位移监测。其核心功能基于磁性三维力测量与空间位移测量,能够捕捉多维触觉信息。该传感器的设计不仅提升了触觉感知的精度,还为机器人、医疗设备和制造业的智…...
智能职业发展系统:AI驱动的职业规划平台技术解析
智能职业发展系统:AI驱动的职业规划平台技术解析 引言:数字时代的职业革命 在当今瞬息万变的就业市场中,传统的职业规划方法已无法满足个人和企业的需求。据统计,全球每年有超过2亿人面临职业转型困境,而企业也因此遭…...
【HarmonyOS 5】鸿蒙中Stage模型与FA模型详解
一、前言 在HarmonyOS 5的应用开发模型中,featureAbility是旧版FA模型(Feature Ability)的用法,Stage模型已采用全新的应用架构,推荐使用组件化的上下文获取方式,而非依赖featureAbility。 FA大概是API7之…...
