iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >JSON基础介绍与详细用法
  • 389
分享到

JSON基础介绍与详细用法

2024-04-02 19:04:59 389人浏览 独家记忆
摘要

一、什么是JSON 1、jsON指的是javascript对象表示法(JavaScript Object Notation)。2、JSON是轻量级的文本数据交换格式,比XML更小、更

一、什么是JSON

  • 1、jsON指的是javascript对象表示法(JavaScript Object Notation)。
  • 2、JSON是轻量级的文本数据交换格式,比XML更小、更快、更易解析。
  • 3、JSON独立于语言。
  • 4、JSON具有自我描述性、更易理解。

注意:JSON使用JavaScript语法来描述数据对象,但是JSON仍然独立于语言和平台。JSON解析器和JSON库支持许多不同的编程语言。目前非常多的动态编程语言(PHP.net)都支持JSON。

二、JSON和XML比较

1、与XML相同之处

  • 1)JSON是纯文本。
  • 2)JSON具有“自我描述性”(人类可读)。
  • 3)JSON具有层级结构(值中存在值)。
  • 4)JSON可通过JavaScript进行解析。
  • 5)JSON数据可使用ajax进行传输。

2、与XML不同之处

  • 1)没有结束标签。
  • 2)比XML更短。
  • 3)比XML读写的速度更快。
  • 4)能够使用内建的JavaScript eval()方法进行解析。
  • 5)可以使用数组
  • 6)不使用保留字。

3、为什么使用JSON

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

使用XML:

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

使用JSON

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

三、JSON语法

JSON语法是JavaScript语法的子集。

1、语法规则

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

  • 1)数据在名称/值对中。
  • 2)数据由逗号分隔。
  • 3)大括号保存对象。
  • 4)中括号保存数组。

2、JSON名称/值对

JSON数据的书写格式是:名称/值对。

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

"name":"Tom"

3、JSON值

JSON值可以是:

  • 1)数字(整数或浮点数)。
  • 2)字符串(在双引号中)。
  • 3)逻辑值(true或false)。
  • 4)数组(在中括号中)。
  • 5)对象(在大括号中)。
  • 6)null。

4、JSON数字

JSON数字可以是整型或者浮点型:

{"age":30}

5、JSON对象

JSON对象在大括号({})中书写:

对象可以包含多个名称/值对:

{"name":"张三","age":24}

6、JSON数组

JSON数组在中括号中书写:

数组可以包含多个对象:

{
  "student":[
  {"name":"张三","age":24},
  {"name":"李四","age":25}
  ]
}

在上面的例子中,对象"student"是包含三个对象的数组。每个对象代表一条关于某个学生(name,age)的记录。

7、JSON布尔值

JSON布尔值可以是true或者false:

{"flag":true}

8、JSON null值

JSON可以设置null值:

{"student":null}

9、JSON使用JavaScript语法

因为JSON使用JavaScript语法,所以无需额外的软件就能处理JavaScript中的JSON。

通过JavaScript,你可以创建一个对象数组,并像这样进行赋值:

var student=[
  {"name":"张三","age":24},
  {"name":"李四","age":25}
  ];

可以像这样访问JavaScript对象数组中的第一项(索引从0开始)

student[0].name;

返回的内容是:张三

可以像这样修改数据:

student[0].name="tom";

10、JSON文件

  • 1)JSON文件的文件类型是".json"。
  • 2)JSON文本的MIME类型是"application/json"。

四、JSON对象

1、对象语法

{"name":"张三","age":25}

JSON对象使用在大括号({})中书写。

对象可以包含多个key/value(键/值)对。

key必须是字符串,value可以是合法的JSON数据类型(字符串、数字、对象、数组、布尔值或null)。

key和value中使用冒号(:)分割。

每个key/value对使用逗号(,)分割。

2、访问对象

你可以使用点(.)来访问对象的值。

var  myObj,x;
myObj={"name":"张三","age":24};
x=myObj.name;

上面的例子输出值:张三。

你也可以使用中括号([])来访问对象的值。

var  myObj,x;
myObj={"name":"张三","age":24};
x=myObj["name"];

上面的例子同样输出值:张三。

3、循环对象

你可以使用for-in来循环对象的属性,使用中括号([])来访问属性的值:

var myObj={"name":"张三","age":24};
for(x in myObj){
     document.getElementById("demo").innerhtml += myObj[x]+"<br>";
}

4、嵌套JSON对象

JSON对象中可以包含另外一个JSON对象:

student={
      "name":"张三",
      "age":24,
      "score":{
         "C#高级编程":94,
         "SQL Server":83,
         "python":75
       }
}

你可以使用点号(.)或者中括号([])来访问嵌套的JSON对象。

例如:

var x=student.score.C#高级编程;
// 或者
var x=student.score["C#高级编程"];

5、修改JSON对象的值

你可以使用点号(.)来修改JSON对象的值:

student.score.C#高级编程=90;

你也可以使用中括号([])来修改JSON对象的值:

student.score["C#高级编程"]=90;

6、删除JSON对象的属性

我们可以使用delete关键字来删除JSON对象的属性:

delete student.score.C#高级编程;

也可以使用中括号([])来删除JSON对象的属性:

delete student.score["C#高级编程"];

五、JSON数组

1、数组作为JSON对象

["C#","Java","Python"]

JSON数组在中括号中书写。

JSON中数组值必须是合法的JSON数据类型(数字、字符串、对象、数组、布尔值或null)。

JavaScript中,数组值可以是以上的JSON数据类型,也可以是JavaScript的表达式,包括函数、日期、及undefined。

2、JSON对象中的数组

对象属性的值可以是一个数组:

var student={
   "name":"张三",
   "age":24,
   "subject":[".NET","java","python"]
}

可以使用索引值来访问数组:

var x=student.subject[0];

3、循环数组

可以使用for-in来访问数组:

for(i  in student.subject)  {
     x += student.subject[i]+"<br>";
}

也可以使用for循环

for(int i=0;i<student.subject.length;i++) {
   x+=student.subject[i]+"<br>";
}

4、嵌套JSON对象中的数组

JSON对象中数组可以包含另外一个数组,或者另外一个JSON对象:

student={
   "name":"张三",
   "age":24,
   "score":[
         {".NET":91},
         {"java":85},
         {"python":79}
    ]
}

可以使用for-in来循环访问数组

for(i in student.score) {
   x +="<h1>" +student.score[i]+"</h1>";
}

5、修改数组值

可以使用索引值来修改数组值:

student.score[1]=93;

6、删除数组元素

可以使用delete关键字来删除数组元素:

delete  student.score[0];

到此这篇关于JSON基础介绍与详细用法的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: JSON基础介绍与详细用法

本文链接: https://www.lsjlt.com/news/141623.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JSON基础介绍与详细用法
    一、什么是JSON 1、JSON指的是JavaScript对象表示法(JavaScript Object Notation)。2、JSON是轻量级的文本数据交换格式,比XML更小、更...
    99+
    2022-11-13
  • Kotlin 基础语法详细介绍
    Kotlin 基础语法详细介绍基础语法定义包名包名的定义应当在源文件的头部package my.demoimport java.util.*// ......
    99+
    2023-05-31
    kotlin 基础语法
  • linux脚本基础详细介绍
    目录1.脚本vim环境2.shell脚本中环境的定义方法3.shell脚本中的转译字符4.脚本中变量的数组5.系统中命令的别名设定6.脚本中的传参7.脚本中的循环函数1.脚本vim环境 在脚本中通常要显示一些脚本信息,这...
    99+
    2022-06-04
    linux脚本基础 linux脚本
  • 【MySQL基础教程】事务详细介绍
    前言 本文为 【MySQL基础教程】事务 相关知识,下边将对事务简介,事务操作(包括:未控制事务,控制事务),事务四大特性,并发事务问题,事务隔离级别等进行详尽介绍~ 📌博主主页:小...
    99+
    2023-09-04
    mysql java 数据库
  • 详细介绍HTML的基本用法
    HTML是一种基本的网页设计语言,是创建网页的重要工具之一。对于想要学习HTML的初学者来说,了解HTML的基本用法是至关重要的。本文将详细介绍HTML的基本用法,让你轻松入手。一、HTML的基本概念HTML,全称是HyperText Ma...
    99+
    2023-05-14
  • 【MySQL基础教程】DQL语句详细介绍
    前言 本文为 【MySQL基础教程】DQL语句 相关内容介绍,下边具体将对DQL语句基本语法,基础查询,条件查询,聚合函数,分组查询,排序查询,分页查询,相关案例,执行顺序等进行详尽介绍~ 📌博主主页:小新要变强 的主页 ...
    99+
    2023-08-25
    java mysql
  • JavaInheritableThreadLocal用法详细介绍
    目录简介问题复现解决方案源码分析注意简介 本文介绍InheritableThreadLocal的用法。 ThreadLocal可以将数据绑定当前线程,如果希望当前线程的ThreadL...
    99+
    2022-11-13
  • Reactcss-in-js基础介绍与应用
    目录1. 介绍2. 使用1. 介绍 CSS-in-JS 是一种技术,而不是一个具体的库实现。简单来说 CSS-in-JS 就是将应用的CSS样式写在 JavaScript 文件里面,...
    99+
    2022-11-13
  • JavaScript基础语法与数据类型介绍
    目录一、JavaScript语法1、区分大小写2、标识符3、注释4、变量二、JavaScript的数据类型1、Undefined类型2、Null类型3、Boolean类型4、Numb...
    99+
    2022-11-13
  • 详细介绍mysql中limit与offset的用法
    目录mysql limit与offset用法附:Mysql limit offset用法举例总结有的时候我们在学习或者工作中会使用到SQL语句,那么介绍一下limit和offset的...
    99+
    2022-11-13
  • 什么是Shell?Shell脚本基础知识详细介绍
    Shell本身是一个用C语言编写的程序,它是用户使用Linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和...
    99+
    2022-06-04
    详细介绍 基础知识 脚本
  • Python torch.onnx.export用法详细介绍
    目录函数原型参数介绍mode (torch.nn.Module, torch.jit.ScriptModule or torch.jit.ScriptFunction)args (t...
    99+
    2022-11-11
  • SpringMVC配置与使用详细介绍
    目录一、SpringMVC的使用1、MVC模式2、具体的坐标如下3、配置DispatcheServlet4、编写springmvc.xml的配置文件二、SpringMVC原理1、Sp...
    99+
    2022-11-13
  • fastjson 使用方法详细介绍
    Fastjson介绍Fastjson是一个Java语言编写的JSON处理器。遵循http://json.org标准,为其官方网站收录的参考实现之一。功能qiang打,支持JDK的各种类型,包括基本的JavaBean、Collection、M...
    99+
    2023-05-30
    fastjson 使用
  • Android ADB详细介绍及用法
    Android ADB 用法 adb  全称是 Android Debug Bridge, 就是起到调试桥的作用。 用来操作android设备的 阅读目录 ad...
    99+
    2022-06-06
    adb Android
  • C#中委托的基础介绍与实现方法
    这篇文章主要讲解了“C#中委托的基础介绍与实现方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#中委托的基础介绍与实现方法”吧!目录前言关于委托委托的实现一、基本实现方式二、使用委托时的...
    99+
    2023-06-20
  • Java static关键字详细介绍与用法总结
    static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念。下面整理内容大家可以参考下。1.     静态方法 通常...
    99+
    2023-05-31
    java static ava
  • Promise的原理和基础用法介绍
    这篇文章主要介绍“Promise的原理和基础用法介绍”,在日常操作中,相信很多人在Promise的原理和基础用法介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Promis...
    99+
    2022-10-19
  • JavaWebServletContext基础与应用详细讲解
    目录ServletContext 基础知识获取 ServletContext对象特性context-param获取文件路径记录日志参数增删改查ServletContext 基础知识 ...
    99+
    2023-01-05
    JavaWeb ServletContext JavaWeb ServletContext应用
  • Yarn的安装与使用详细介绍
    在官方介绍里有这么一句话: Yarn is a package manager for your code. It allows you to use and share code with other d...
    99+
    2022-06-04
    详细介绍 Yarn
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作