首页 > 其他分享 >JSON学习

JSON学习

时间:2022-12-08 17:37:48浏览次数:43  
标签:XML 数据结构 JavaScript 学习 JSON 使用 解析

 作者:Milo Yip

1、 JSON 是什么

JSON(JavaScript Object Notation)是一个用于数据交换的文本格式,现时的标准为ECMA-404

虽然 JSON 源至于 JavaScript 语言,但它只是一种数据格式,可用于任何编程语言。现时具类似功能的格式有 XML、YAML,当中以 JSON 的语法最为简单。

 

2、JSON 与 XML 相同之处

JSON 是纯文本

JSON 具有"自我描述性"(人类可读)

JSON 具有层级结构(值中存在值)

JSON 可通过 JavaScript 进行解析

JSON 数据可使用 AJAX 进行传输

3、JSON 与 XML 不同之处

没有结束标签

更短

读写的速度更快

能够使用内建的 JavaScript eval() 方法进行解析

使用数组

不使用保留字

4、为什么使用 JSON?

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

使用

读取 XML 文档

使用 XML DOM 来循环遍历文档

读取值并存储在变量中

使用

读取 JSON 字符串

用 eval() 处理 JSON 字符串

 

例如,一个动态网页想从服务器获得数据时,服务器从数据库查找数据,然后把数据转换成 JSON 文本格式:

 

{

    "title": "Design Patterns",

    "subtitle": "Elements of Reusable Object-Oriented Software",

    "author": [

        "Erich Gamma",

        "Richard Helm",

        "Ralph Johnson",

        "John Vlissides"

    ],

    "year": 2009,

    "weight": 1.8,

    "hardcover": true,

    "publisher": {

        "Company": "Pearson Education",

        "Country": "India"

    },

    "website": null}

网页的脚本代码就可以把此 JSON 文本解析为内部的数据结构去使用。

从此例子可看出,JSON 是树状结构,而 JSON 只包含 6 种数据类型:

· null: 表示为 null

· boolean: 表示为 true 或 false

· number: 一般的浮点数表示方式,在下一单元详细说明

· string: 表示为 "..."

· array: 表示为 [ ... ]

· object: 表示为 { ... }

我们要实现的 JSON 库,主要是完成 3 个需求:

1. 把 JSON 文本解析为一个树状数据结构(parse)。

2. 提供接口访问该数据结构(access)。

3. 把数据结构转换成 JSON 文本(stringify)。

 

 

JSON学习_JSON

下文解析JSON API使用。

标签:XML,数据结构,JavaScript,学习,JSON,使用,解析
From: https://blog.51cto.com/u_6958388/5922945

相关文章

  • 自动化测试高手课-学习笔记
    课程链接github链接Job框架1自动化测试我对自动化测试架构师的定义是,不仅仅是写代码让自动化测试跑起来,而且能够超脱于工具框架的层面,对测试需求和自动化ROI一起抽......
  • 【机器学习】回归的原理学习与葡萄酒数据集的最小二乘法线性回归实例
    一,回归1.1回归分析的基本概念回归分析(regressionanalysis)指的是确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。确定变量之间是否存在相关关系,若存......
  • LINQ学习
     varrest=frommastinmasterwheremast.level>6selectmast; //from后面设置查询的集合、where后面跟查询条件、表示mast的结果集合返回多条件:wheremast.......
  • json.load 和json.dump的转换区别
     示例如下:importjson"""当进行预期和时间结果比对是,有些参数结果为null,但是python语言是不认识null的,只认识None,所以,要进行转换;"""ss='{"user":"python","passwd":"1......
  • gin源码学习-路由注册(2)
    gin框架主要是在标准库net/http的基础上对路由进行改写,本文将从net/http与gin的路由注册分享路由方面的一些理解。1.net/http的路由注册1.1路由注册首先来个demo:pack......
  • toString转化成Json或实体对象
    废话不多说,代码上一波!!! 实体中生成的toSting转json格式或者转实体类格式packagecom.xxx.util;importcom.alibaba.fastjson.JSON;importjavafx.util.Pair;importo......
  • 深度学习炼丹-不平衡样本的处理
    前言一,数据层面处理方法1.1,数据扩充1.2,数据(重)采样数据采样方法总结1.3,类别平衡采样二,算法(损失函数)层面处理方法2.1,FocalLoss2.2,损失函数加权参考资料......
  • 强化学习——QLearning和Sarsa算法及其Python实现
    主要是强化学习的课程,作业中涉及到了QLearning和Sarsa算法,特此记录。宝藏博主的强化学习专栏中包含了这两个算法的讲解,极为清晰,非常推荐。链接:机器学习+深度学习+强化学......
  • Notepad++ ,json 、xml 格式化插件安装不了 和 github 网站访问不了 最佳解决方案
    OverridetheentrypointofanimageIntroducedinGitLabandGitLabRunner9.4.Readmoreaboutthe extendedconfigurationoptions.Beforeexplainingtheav......
  • Linux下学习FPGA
    声明(叠甲):鄙人水平有限,本文章仅供参考。1.环境推荐使用Ubuntu20.04这是我使用多个版本中最好用的一个,相关安装教程可以自行上网搜索这不再赘述,但要补充的一点的是......