注意:JSON不能转换类,不能转换函数

重点方法示例

json.dumps():实现文件写入,字符串转换【写入文件当然是JSON字符串楼】

实际上,json.dumps()只是帮我们做了一个字符串的转换,把字典转换为了json格式的字符串而已;

dict={'name': 'FTL'}  # 字典

dict1={"name": "FTL"}  # JSON,

json.loads(dict['name'])  # 错误

import json
dd = {'name': 'hhh', 'age': 23, 'sex': 'male'}
seriable_data = json.dumps(dd) # 序列化dd对象为一个JSON序列化的对象
with open('json.txt', 'w', encoding='utf-8')as f:
f.write(seriable_data)

使用json.dump()实现:写入的格式是w,同时JSON会自动帮我们写入f.write()到文件

import json
dic = {'name': 'ftl', 'age': 23}
# 写入的格式是w
with open('json.txt', 'w') as f:
json.dump(dic, f) # 注意这里是f

json.loads():实现读取,市值为JSON对象

import json

with open('json.txt', 'r', encoding='utf-8') as f:
file = f.read()
data = json.loads(file, encoding='utf-8')
print(data)

json.load(): 使用r进行读取,JSON会自动实现我们的读取

import json
f = open('json.txt', 'r')
data = json.load(f) # 注意这里是f
print(data['name'])

Python学习---重点模块之json的更多相关文章

  1. Python学习---重点模块的学习【all】

    time     [时间模块] import time # print(help(time)) # time模块的帮助 print(time.time()) # 时间戳 print(time.cloc ...

  2. Python学习---重点模块之re

    正则表达式是用来操作字符串,但是字符串提供的正则是完全匹配,有时候我们需要进行模糊匹配,这个时候就需要正则表达式了.通过re模块来实现,由C语言来执行底层的匹配 字符匹配(普通字符,元字符): 1 普 ...

  3. Python学习---重点模块之subprocess

    subprocess是用来执行系统程序,查看系统的模块, 查看当前目录 第一种方法: import subprocess # subprocess会单独自己开辟一个线程,内部是多线程 # stdout ...

  4. Python学习---重点模块之pickle

    仅仅支持Python里面的函数等相关功能的实现,而且pickle写入的内容是看不出来的,读取的时候要求有原内容 pickled的写入: import pickle def fun(): print(' ...

  5. Python学习---重点模块之logging

    日志级别 日志级别  critical > error > warning > info > debug, 默认是从warning开始打印 import logging # 日 ...

  6. Python学习---重点模块之configparse

    configparse模块常用于生成和修改常见的配置文档 生成配置模块:用字典写 import configparser config = configparser.ConfigParser() co ...

  7. Python学习---重点模块之xml

    xml是实现不同语言或程序之间进行数据交换的协议,跟json差不多,但json使用起来更简单 数据准备 <?xml version="1.0"?> <data&g ...

  8. Python学习---重点模块之shelve

    简单示例 import shelve f = shelve.open(r'shelve.txt') f['info'] = {'name':'ftl', 'age':23, 'sex': 'male' ...

  9. python学习第四十八天json模块与pickle模块差异

    在开发过程中,字符串和python数据类型进行转换,下面比较python学习第四十八天json模块与pickle模块差异. json 的优点和缺点 优点  跨语言,体积小 缺点 只能支持 int st ...

随机推荐

  1. JQ 输入框控制输入 - 键盘上事件

    <li style="width: 480px">限购数量  <input type="number" name="limitNum ...

  2. mysql故障总结

    MYSQL故障排查 https://zhuanlan.zhihu.com/p/27834293

  3. selenium中等待元素的加载

    在实际使用中,有时会出现一个元素还没有加载出来,导致无法获取,此时需要selenium处理来等待一段时间,此时处理方法有以下几种: 1.最笨.最简单但是最不推荐的方式: Thread.sleep(ti ...

  4. Spark on YARN模式的安装(spark-1.6.1-bin-hadoop2.6.tgz + hadoop-2.6.0.tar.gz)(master、slave1和slave2)(博主推荐)

    说白了 Spark on YARN模式的安装,它是非常的简单,只需要下载编译好Spark安装包,在一台带有Hadoop YARN客户端的的机器上运行即可.  Spark on YARN简介与运行wor ...

  5. html中使用滚动条

    1. 在html页面中使用滚动条,效果如下: 代码如下: <div style="height:auto !important;max-height:200px;overflow:sc ...

  6. Oracle 架构

  7. 持续集成工具TeamCity配置使用

    持续集成CI(Continuous Integration)主要包括自动化的编译.发布和测试集成,对于我们信息系统项目开发非常有用.一般开发人员机器上会搭建自己的开发环境,整个项目在服务器上会搭建测试 ...

  8. Ajax介绍及爬取哔哩哔哩番剧索引追番人数排行

    Ajax,是利用JavaScript在保证页面不被刷新,页面链接不改变的情况下与服务器交换数据并更新部分网页的技术.简单的说,Ajax使得网页无需刷新即可更新其内容.举个例子,我们用浏览器打开新浪微博 ...

  9. android和Linux下getopt的差别

    1. Linux下如果找不到相对应的参数,则会跳过继续找下一个 Android下如果找不到则会直接返回-1,跳出来 2. Linux下通过getopt后会把找到的元素放到数组的前面,没找到的往后移动( ...

  10. 深入理解JavaScript系列(50):Function模式(下篇)

    介绍 本篇我们介绍的一些模式称为初始化模式和性能模式,主要是用在初始化以及提高性能方面,一些模式之前已经提到过,这里只是做一下总结. 立即执行的函数 在本系列第4篇的<立即调用的函数表达式> ...