JavaScript小记——JSON

news/2024/10/17 20:28:13/

目录

JSON概念

JSON语法规则

JSON 数据 - 一个名称对应一个值

JSON 对象

JSON 数组

JSON字符串转JSON对象

JSON对象转JSON字符串

JSON遍历

this的介绍         

 

               


JSON 是用于存储和传输数据的格式。

JSON 通常用于服务端向网页传递数据 。

JSON概念

  • JSON 英文全称 JavaScript Object Notation

  • JSON 是一种轻量级的数据交换格式。

  • JSON是独立的语言 *

  • JSON 易于理解。

  • 格式仅仅是一个文本

JSON语法规则

  • 数据为 键/值 对。

  • 数据由逗号分隔。

  • 大括号保存对象

  • 方括号保存数组

JSON 数据 - 一个名称对应一个值

JSON 数据格式为 键/值 对,就像 JavaScript 对象属性。

键/值对包括字段名称(在双引号中),后面一个冒号,然后是值:

"name":"Runoob"

JSON 对象

JSON 对象保存在大括号内。

就像在 JavaScript 中, 对象可以保存多个 键/值 对:

var student = {"id": 1, "name": "张三", "age": 23, "gender": "男"}

取数据,键找值

var id = student.id;  //或  var age = student["age"];

var name = student.name;

alert(id);

alert(name);

可以存放任意类型

 var person = {"name": "张三","age": 23,"car": {"carName": "宝马", "carColor": "白色", "carPrice": 9999.99},"house":["别墅","高层","地下室","公寓"],"eat":function() {alert("吃饭");},"sleep":function() {alert("睡觉")}}var price= person.car.carPrice;var str=person.house[3];alert(price);alert(str);person.eat();//修改alert(person.name);person.name="李四";alert(person.name);//删除 deleltedelete person.age;alert(person.age);//增加person.id =1;

JSON 数组

JSON 数组保存在中括号内。

就像在 JavaScript 中, 数组可以包含对象:

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

在以上实例中,对象 "sites" 是一个数组,包含了三个对象。

每个对象为站点的信息(网站名和网站地址)。

var studentArr=[
                {"id": 1, "name": "张三", "age": 23, "gender": "男"},
                {"id": 2, "name": "李四", "age": 24, "gender": "男"},
                {"id": 3, "name": "王五", "age": 25, "gender": "女"}
            ];

            var sex=studentArr[2].gender;

JSON字符串转JSON对象

//JSON对象

var student = {"id": 1, "name": "张三", "age": 23, "gender": "男"};

//JSON字符串

var jsonStr = '{"id": 2, "name": "张三", "age": 23, "gender": "男"}'

//把JSON字符串,转换成JSON对象

var obj=JSON.parse(jsonStr);

JSON对象转JSON字符串

//把JSON对象转换成JSON字符串

var str=JSON.stringify(student);

JSON遍历

 var obj={"id": 3, "name": "王五", "age": 25, "gender": "女"};//JSON对象的遍历for (key in obj){var value= obj[key];console.log(key+"====="+value)}

 

this的介绍         

//全局定义的这个函数和变 量,他默认绑定到了window对象上var nn=100;function show(){alert(this);}//直接调用这个函数时,函数中的this,代表window对象window.show();alert(window.nn);document.getElementById("btn").onclick=function() {alert(this); //this 代表了绑定了该事件的这个HTML元素对象}
 <button onclick="add()">一个按钮</button><button onclick="hehe(this)">一个按钮2</button>function add(){//这个this代表的还是window对象alert(this);}<button onclick="hehe(this)">一个按钮2</button>function hehe(obj){alert(this); //这个this代表的还是window对象alert(obj); //button对象}
 var person = {"name": "张三","age": 23,"eat":function() {alert("吃饭"+this); //this 代表调用者alert("吃饭"+this.name);//张三return this;}}var obj =person.eat();alert(obj===person);//true

 

var person = {"name": "张三","age": 23,"eat":function() {alert("吃饭"+this); //this 代表调用者alert("吃饭"+this.name);return this;}}//可以改变this的指向function show2(a,b){alert(this.age);alert(a);alert(b);}//直接调用函数//show2();//函数对象中有call 可以让函数执行//call 改变函数中this的指向show2.call(person,20,30);//show2.apply(person,[20,30]);//var vv =show2.bind(person,20,30);//  vv();

               


http://www.ppmy.cn/news/51146.html

相关文章

vue页面内嵌iframe使用postMessage进行数据交互(postMessage跨域通信)

什么是postMessage postMessage是html5引入的API,它允许来自不同源的脚本采用异步方式进行有效的通信,可以实现跨文本文档,多窗口,跨域消息传递.多用于窗口间数据通信,这也使它成为跨域通信的一种有效的解决方案. vue父页面&#xff08;嵌入iframe的页面&#xff09; 在vue中…

微信小程序原生开发功能合集十三:列表界面的实现

本章实现列表展示组件,包括列表数据加载、筛选、分页加载、快速搜索等功能。   另外还提供小程序开发基础知识讲解课程,包括小程序开发基础知识、组件封装、常用接口组件使用及常用功能实现等内容,具体如下:    1. CSDN课程: https://edu.csdn.net/course/detail/379…

3 redis线程IO模型

1 IO模型 1.1 IO IO (Input/Output&#xff0c;输入/输出)即数据的读取&#xff08;接收&#xff09;或写入&#xff08;发送&#xff09;操作&#xff0c;通常用户进程中的一个完整IO分为两阶段&#xff1a;用户进程空间<–>内核空间、内核空间<–>设备空间&…

Python Web开发技巧III

字符串类型与日期类型的互换 字符串 > 日期类型与 日期类型 > 字符串&#xff0c;就单纯SDK操作&#xff0c;简洁写法&#xff0c;开发使用这种写法就OK了。 from datetime import datetime, date# str -> datetime res1 date(*map(int, "2023-04-25".sp…

LeetCode 2418. 按身高排序

【LetMeFly】2418.按身高排序 力扣题目链接&#xff1a;https://leetcode.cn/problems/sort-the-people/ 给你一个字符串数组 names &#xff0c;和一个由 互不相同 的正整数组成的数组 heights 。两个数组的长度均为 n 。 对于每个下标 i&#xff0c;names[i] 和 heights[i…

根据身高排序(力扣2418)

问题&#xff1a; 给你一个字符串数组 names &#xff0c;和一个由 互不相同 的正整数组成的数组 heights 。两个数组的长度均为 n 。 对于每个下标 i&#xff0c;names[i] 和 heights[i] 表示第 i 个人的名字和身高。 请按身高 降序 顺序返回对应的名字数组 names 。 示例 …

第4章:运算符

1.算术运算符 ① SELECT 10010,100-35.5,100*2,100/2,100%30 FROM DUAL;②在sql中“”没有连接作用&#xff0c;表示加法运算&#xff0c;字符串转换为数值&#xff08;隐式转换&#xff09;。非数值看作0处理 SELECT 1001 1 FROM DUAL;SELECT 100 a FROM DUAL;③加法运算…

数字化转型危与机,20年老厂的升级之路

“投资大、周期长、见效慢”&#xff0c;是每一家企业在考虑数字化战略时&#xff0c;都会纠结的问题。 打江山容易&#xff0c;守江山难 企业在快速扩张的过程中&#xff0c;往往可以不需要过多的考虑细节的问题&#xff0c;跑马圈地的打法会更加有效。 但是市场占有量开始饱…