码农知识堂 - 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], '小米': '米卡米卡'}
    

  • 相关阅读:
    金融贷款风险预测:使用图神经网络模型进行违约概率评估
    Spring AOP如何使用AspectJ注解进行开发呢?
    Go语言并发赋值的安全性
    centos 非docker环境搭建nacos集群
    解密Prompt系列17. LLM对齐方案再升级 WizardLM & BackTranslation & SELF-ALIGN
    ASEMI解读KBL610整流桥的使用说明及操作指南
    你应该知道的数仓安全:都是同名Schema惹的祸
    如何修改别人的神经网络,人工神经网络通过调整
    常见的前端安全问题(xss / csrf / sql / ddos / cdn...)
    Metabase学习教程:仪表盘-8
  • 原文地址:https://blog.csdn.net/m0_63794226/article/details/126150630
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号