Json简介

本文详细介绍了JSON(JavaScript Object Notation)的基本概念、语法特性,包括其自我描述性、层级结构以及与JavaScript的紧密关系。JSON数据格式简单明了,可以直接用JavaScript解析,适合AJAX应用。对比XML,JSON无需结束标签,更简洁,解析速度更快。此外,还提到了JSON.parse()和JSON.stringify()两个关键方法用于数据转换。
摘要由CSDN通过智能技术生成

JSON-简介


  • JSON是纯文本
  • JSON具有"自我描述性’’
  • JSON具有层级结构
  • 可以直接通过JavaScript进行解析
  • JSON数据可使用AJAX进行传输

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

JSON语法


JSON的语法是JavaScript语法的子集

JSON的语法规则

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

  • 数据在 名称/值 对中
  • 数据由逗号分隔
  • 大括号保存对象
  • 中括号保存数组

JSON名称/值对


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

"name":"13212"

等价于

name = "13212"

JSON值


  • 数字(整数或者浮点数)
  • 字符串(在双引号中)
  • 逻辑值(true 或 false)
  • 数组(在中括号中)
  • 对象(在大括号中)
  • null

JSON数字


{"age":30}

JSON对象


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

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

{"name":"123","url":"www.baidu.com"}

容易理解,这条就等价于JavaScript的

name = "123"
url = "www.baidu.com"

JSON数组


JSON数组在中括号中书写:

数组可以包含多个对象

{
    "sites":[
        {"name":"123","url":"www.baidu.com"},
        {"name":"312","url":"www.baidu.com"},
        {"name":"789","url":"www.baidu.com"}
    ]
}

对象sites 包含三个对象的数组,每个对象代表着(name、url)的记录

JSON布尔值


JSON布尔值是 true 或者 false

{"flage":true}

JSON null


JSON 可以设置null 值

{"runoob":null}

JSON使用JavaScript语法


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

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

var sites = [
    { "name":"runoob" , "url":"www.runoob.com" }, 
    { "name":"google" , "url":"www.google.com" }, 
    { "name":"微博" , "url":"www.weibo.com" }
];

访问 对象数组的第一项

sites[0].name;

修改数据可写成

sites[0].name = "321";

JSON 和 XML 的差别


JSON 与 XML 的相同之处:

  • JSON 和 XML 数据都是 “自我描述” ,都易于理解。
  • JSON 和 XML 数据都是有层次的结构
  • JSON 和 XML 数据可以被大多数编程语言使用

JSON 与 XML 的不同之处:

  • JSON 不需要结束标签
  • JSON 更加简短
  • JSON 读写速度更快
  • JSON 可以使用数组

最大的不同是:XML 需要使用 XML 解析器来解析,JSON 可以使用标准的 JavaScript 函数来解析。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值