Python21天学习挑战赛Day3·json标准库

在这里插入图片描述 

活动地址:CSDN21天学习挑战赛

学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。

学习日记(2)

目录

学习日记(2)

什么是JSON库?

一、JSON库形式

   1、JSON库基础使用形式

2、JSON库的使用注意事项

3、JSON基础使用总结

二、JSON库使用格式

三、JSON模块的使用

1、数据类型转换​编辑

2、常用使用方法

四、常用方法解读

1、json.dumps()——#将 Python 数据类型转换为 JSON格式字符串

2、json.loads()——将JSON格式字符串转换为 python类型

3、json.dump()——将Python数据类型转换并保持json格式后写入文件

4、 json.load()——读取文件中json形式的字符串并转化为Python类型


什么是JSON库?

    JSON,全称为JavaScript Object Notation,也就是JavaScript对象标记,通过对象和数组的组合表示数据,虽然构造简洁但是结构化程度非常高,是一种轻量级的数据交换格式。

    json库的特点:

           a、JSON独立于语言

           b、JSON更易理解

           c、JSON用来存储和交换文本信息,比XML更小/更快/更易解析,易于读写,占用带宽小,网络传输速度快的特性,适用于数据量大,不要求保留原有类型的情况。

           d、爬虫经常获取的端口数据就是JSON格式

一、JSON库形式

   1、JSON库基础使用形式

    JSON库形式像字典,是一种用花括号圈起来的键值对。例如:{key1:value1,key2:value2,}

简单的,可以将JSON对象写为

{ "name":"小明","age":"18",}    #键值对

进阶一下就是

[{
    "name": "小明","height": "170","age": "18"},

{
     "name": "小红", "height": "165","age": "20"}]

由中括号包围的就相当于列表类型,列表中的每个元素可以是任意类型,这个示例中它是字典类型,由花括号圈住。

JSON 可以由以上两种形式自由组合而成,可以无限次嵌套,结构清晰,是数据交换的极佳方式。

2、JSON库的使用注意事项

a、JSON库的键值对的键的部分必须使用双引号,(即:"")来包括,键中不能使用关键字

b、JSON库的键值对的值的部分不能使用function、undefined等函数。

c、JSON库不能出现多余的逗号,例如,上文提到的json简单用法中的{ "name":"小明","age":"18",} 中,18后面的逗号就是明显的错误。

3、JSON基础使用总结

可以有多个对象

                      在花括号中书写,对象可以包含多个名称/值对 

JSON数组

                      每个对象代表一条关于某个人名的记录,在方括号中书写,数组可以包含多个对象

二、JSON库使用格式

正确的JSON格式如下(json对象、数组)

#    { "name":"小明","age":"18"}

#    [{
         "name": "小明","height": "170","age": "18"},

       {
          "name": "小红", "height": "165","age": "20"}]

#     {

          "student":

           [

             { "name":"小明","age":"18"}

             { "name":"小红","age":"16"}

           ]

        }

三、JSON模块的使用

      前端和后端进行数据交互,其实就是JSON和Python进行数据交互。

1、数据类型转换

 python ⇄ JSON 格式转换参照如上

2、常用使用方法

   Python在使用JSON这个模块前,首先要导入JSON库:import json.

注意:不带s的是序列化到文件或者从文件反序列化,带s的都是内存操作不涉及持久化。 

四、常用方法解读

1、json.dumps()——# Python 数据类型转换为 JSON格式字符串

import json
 
data = {'name':'小米','age':18}
print(json.dumps(data))

结果:

{"name": "小米", "age": 18}

变化:单引号已经变成双引号了

2、json.loads()——将JSON格式字符串转换为 python类型

import json
 
data = {'name':'小米','age':18}

# print(json.dumps(data))

a = json.dumps(data)
print(json.loads(a))

结果:

{'name': '小米', 'age': 18}

3、json.dump()——将Python数据类型转换并保持json格式后写入文件

import json
 
data = {'小米':'haha','a':[1,2,3,4],'b':(1,2,3)}

with open('json_test.txt','w+') as f:
    json.dump(data,f)

4、 json.load()——读取文件中json形式的字符串并转化为Python类型

import json
 
data = {
    '小米':'米卡米卡','a':[1,2,3,4],'b':(1,2,3)}

with open('json_test.txt','w+') as f:
    json.dump(data,f)
 
with open('json_test.txt','r+') as f:
    print(json.load(f))

结果:

{'a': [1, 2, 3, 4], 'b': [1, 2, 3], '小米': '米卡米卡'}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

醉蕤

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值