0
点赞
收藏
分享

微信扫一扫

Web框架开发-Ajax

七千22 03-24 20:30 阅读 2

一、 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>

  

举报

相关推荐

0 条评论