码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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格式字符串

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

    结果:

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

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

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

    1. import json
    2. data = {'name':'小米','age':18}
    3. # print(json.dumps(data))
    4. a = json.dumps(data)
    5. print(json.loads(a))

    结果:

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

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

    1. import json
    2. data = {'小米':'haha','a':[1,2,3,4],'b':(1,2,3)}
    3. with open('json_test.txt','w+') as f:
    4. json.dump(data,f)

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

    1. import json
    2. data = {
    3. '小米':'米卡米卡','a':[1,2,3,4],'b':(1,2,3)}
    4. with open('json_test.txt','w+') as f:
    5. json.dump(data,f)
    6. with open('json_test.txt','r+') as f:
    7. print(json.load(f))

    结果:

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

  • 相关阅读:
    JK405R-SOP16录音芯片ic方案的常见问题集锦包含录音长度功耗以及外挂spiflash
    React 组件的3大属性: state
    ROS小车——创建ROS功能包(6)【ROS保姆注释教学】
    Redis(一)入门:五大数据类型的学习和理解①
    【HarmonyOS】鸿蒙开发之Stage模型-基本概念——第4.1章
    redis的性能管理
    使用 .NET MAUI 创建移动应用——Get Start
    10.26~10.27论文,ALP: AdaptiveLossless floating-Point Compression
    docker创建service时动态获取服务名 模版占位符
    DDD从入门到精通(请点赞收藏)
  • 原文地址:https://blog.csdn.net/m0_63794226/article/details/126150630
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号