当前位置: 首页 > news >正文

Web框架开发-Ajax

一、 Ajax准备知识:json

1、json(Javascript  Obiect  Notation,JS对象标记)是一种轻量级的数据交换格式

1

2

它基于 ECMAScript (w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。

简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

  

2、json其实是从js中拿出来的一个对象,也可以说json是js的一个子集

 需要知道的:json的格式来源于js的格式

1、js支持单引号,也支持双引号,也可以没有引导

1

2

3

4

5

6

//在js中吧{}这样的类型叫做对象,js中没有字典一说

data = {

    'name':'mike',

    "name":"mike",

     name:"mike"       

}     //js对象默认会把自己的键当成字符串处理,所以可以加引号也可以不加

  

2、json的格式

1

2

1、json只认双引号的

2、json一定是一个字符串

  

3、下面我们看看哪些是合格的字符串,哪些不是?

合格的json对象:

1

2

3

4

5

6

7

["one", "two", "three"]

{ "one": 1, "two": 2, "three": 3 }

{"names": ["张三", "李四"] }

[ { "name": "张三"}, {"name": "李四"} ]

  

不合格的json对象

+ View Code

  

+++++++++++++++python中的序列化(dumps)与反序列化(loads)++++++++++++++

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

import json

i = 10

s = "dsfdsf"

l = [11, 22, 33]

dic = {"name": "mike", "age": 22}

b = True

# 把基本数据类型转换成字符串的形式

print(json.dumps(i), type(json.dumps(i)))

print(json.dumps(s), type(json.dumps(s)))

print(json.dumps(l), type(json.dumps(l)))

print(json.dumps(dic), type(json.dumps(dic)))

print(json.dumps(b), type(json.dumps(b)))

# ===========json反序列化===========

d = {"a": 1, "b": "faddfd"}

data = json.dumps(d)

print(data, type(data))

f = open("a.txt", "w")

f.write(data)

f.close()

# =========json序列化=========

f = open("a.txt", "r")

datat = f.read()

print(datat, type(data))

data = json.loads(datat)

print(data, type(data))

  

+++++++++++++++JS中的序列化(stringify)与反序列化(parse)++++++++++++++++++

JSON.stringify():用于将一个JavaScript对象转换为JSON字符串

JSON.parse():用于将一个JSON字符串转换为JavaScript对象

1

2

3

4

5

6

7

8

9

10

11

<script>

    // =======js中的json序列化=========

    s = '{"name": 1}';

    var data = JSON.parse(s);

    console.log(data)

    console.log(typeof data); //object

    //========js中的json的反序列化=====

    s2 = {'name': 'mike'}

    console.log(JSON.stringify(s2), typeof JSON.stringify(s2)) // string

</script>

二、JSON和XML的比较

1、XML也是存数据的一种格式,也是一种标记语言。它是利用节点进行查找的

2、JSON 格式于2001年由 Douglas Crockford 提出,目的就是取代繁琐笨重的 XML 格式。

JSON 格式有两个显著的优点:书写简单,一目了然;符合 JavaScript 原生语法,可以由解释引擎直接处理,不用另外添加解析代码。所以,JSON迅速被接受,已经成为各大网站交换数据的标准格式,并被写入ECMAScript 5,成为标准的一部分。

XML和JSON都使用结构化方法来标记数据,下面来做一个简单的比较。

用XML表示中国部分省市数据如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

<?xml version="1.0" encoding="utf-8"?>

<country>

    <name>中国</name>

    <province>

        <name>黑龙江</name>

        <cities>

            <city>哈尔滨</city>

            <city>大庆</city>

        </cities>

  

http://www.lryc.cn/news/324379.html

相关文章:

  • Python爬虫之urllib库
  • Docker学习笔记 - 常用命令
  • 数学建模(Topsis python代码 案例)
  • gateway网关指定路由响应超时时间
  • docker 和K8S知识分享
  • MySQL--select count(*)、count(1)、count(列名) 的区别你知道吗?
  • 使用verilog设计实现16位CPU及仿真
  • Python将字符串转换为datetime
  • Vue 3 + TypeScript + Vite的现代前端项目框架
  • 浏览器强缓存和弱缓存的主要区别
  • 深度学习-2.9梯度不稳定和Glorot条件
  • 地宫取宝dfs
  • Ollama 运行 Cohere 的 command-r 模型
  • 2024年C语言最新经典面试题汇总(11-20)
  • arm linux应用程序crash分析一般方法
  • Web安全防护技术解决方案
  • 流畅的 Python 第二版(GPT 重译)(十一)
  • Blender 3D建模要点
  • 网络安全实训Day8
  • GB28181 —— 5、C++编写GB28181设备端,完成将USB摄像头视频实时转发至GB28181服务并可播放(附源码)
  • Git工具的详细使用
  • 【prometheus-operator】k8s监控redis
  • 外包干了4年,技术退步明显.......
  • xbackup 备份MySQL数据库脚本
  • npm常用命令详解
  • IPV6协议之RIPNG
  • JVM垃圾收集器你会选择吗?
  • 游戏防沉迷系统相关内容
  • 每日OJ题_牛客_JD1 年终奖(动态规划)
  • 深度学习 tablent表格识别实践记录