【Python3高级编程】一文搞懂Python与JSON的数据解析

1.1.1 json简介

json是一种轻量级的数据交换,易用阅读和编写,同时也易于机器解析和生成。
json是一种基础文本,独立于语言的轻量级交换格式。

语法:
(1). json名称/值对,名称/值对包含在大括号,用双引号引起,中间用冒号分割
如:{“name”:“Python”}
(2).json值,json值可以是数字(整数或者浮点数)、字符串(在双引号中)、逻辑值(Ture或者False),数组(在中括号中)、对象(在大括号中)、和null
【Python3高级编程】一文搞懂Python与JSON的数据解析_第1张图片
(3).json对象。json对象在{}中书写,多个json名称/值以逗号分割
如:{“name”:“python”,“age”:25}
【Python3高级编程】一文搞懂Python与JSON的数据解析_第2张图片
(4).json数组,json数组在中括号中书写,可以包含多个json对象
如:
[
{“name”:“jd”,“url”:“www,jd.com”},
{“name”:“taobao”,“url”:“www.taobao.com”}
]
【Python3高级编程】一文搞懂Python与JSON的数据解析_第3张图片

1.1.2 Python3处理json数据

python3的json模块:用于执行序列化和反序列化功能

1.序列化(Encoding):把一个Python对象编码转化为Json字符串
1).json.dumps()函数将Python对象编码json字符串(序列化)
语法:
import json
data = {‘name’:“wangwu”,‘lang’‘python’.‘java’),‘age’:20}
data_json = json.dumps(data)
2.反序列化(Dencoding):把Json格式字符串解码转化为Python数据对象
2).json.loads()函数将json格式字符串转换为Python对象

2.json字符串和Python原始类之间的数据类型对应关系
【Python3高级编程】一文搞懂Python与JSON的数据解析_第4张图片

1.1.3 自定义对象的序列化

类对象不能直接用json.dumps(obj)序列化对象,需要在对象中编写,转换函数

import json


class Man(object):
    def __init__(self, name, age):
        self.name = name
        self.age = age
        # 序列化函数


def objson(obj):
    return {
        "name": obj.name,
        "age": obj.age
    }


man = Man('tom', 31)
json1 = json.dumps(man, default=objson)
print(json1)  

输出结果
{"name": "tom", "age": 31} 

你可能感兴趣的:(Python3语法,json,python)