18 JSON、JSON字符串、反序列化

JSON教程 : https://www.runoob.com/python/python-json.html

概念

JSON是一种轻量级的数据交换格式,它是一种数据格式!

JSON易于阅读、易于解析、网络传输效率高、跨语言交换数据

JSON与XML

JSON的载体是字符串

不同的语言有对应json对象的数据类型,如python是字典

JSON字符串

JSON字符串的格式与python中的字典格式相似:

{"key":value} 注意:key必须用双引号引起来,因为JSON是各语言通用的,有些语言对双引号单引号的要求严格。

反序列化(由字符串到某语言的标准格式)

将JSON数据转化为python数据就是反序列化

1.python中的json模块包

python对JSON有一套工具包, import json

2.JSON对象在python中的形式(反序列化)

JSON对象时包含JSON字符串的对象,在python大概就是字典的样子,像这样:{"key":value}

3.JSON中的Array在python中的表现(反序列化)

JSON中的Array包含的是一组JSON对象,在python中大概是这个样子:[{"key":value},{"key":value}]

4.json模块的方法loads———反序列化方法

json_str = '{"name":"xiaoming"}' #假设这是从网页获取的JSON对象
j = json.loads(json_str)
print(j)
print(type(j))
结果:
{'name': 'xiaoming'}
<class 'dict'>

5.JSON与python的转化表

序列化

序列化就是将python的数据转化为JSON数据

使用json.dumps方法即可

如将python的字典转化为JSON的对象:

student = [
    {"name": "xiaoming",
     "age": 18,
     "flag": True
     },
    {
        "name": "xiaoli",
        "age": 17,
    }
]
json_str = json.dumps(student) #json_str就是一个JSON对象
print(json_str)
print(type(json_str))
结果:

[{"age": 18, "flag": true, "name": "xiaoming"}, {"age": 17, "name": "xiaoli"}]
<class 'str'>

  

猜你喜欢

转载自www.cnblogs.com/scopicat/p/11777756.html