在使用json模块时需要先 import json 引入模块

json.dumps()模块函数

功能:将Python数据类型转换成字符串【有参】

使用方法:json.dumps(要转换的数据类型变量)

格式如:json.dumps(yhxxi)

注意:不支持元祖

#!/usr/bin/env python
# -*- coding:utf8 -*-
import json
yhxxi = { #创建一个嵌套字典
1:{
"yonghu":"liguixiou",
"mima":"",
"youjian":"729088188@qq.com",
"zichan":700,
},
2:{
"yonghu":"liguixiou2",
"mima":"",
"youjian":"7290881882@qq.com",
"zichan":7002,
}
}
a = json.dumps(yhxxi) #将字典转换成字符串格式
print(a) #打印转换的字符串格式
b = open("yh.txt", "w") #以写入模式打开文件
b.write(a) #将转换的字符串写入文件
b.close() #关闭打开的文件
#输出
# {"1": {"youjian": "729088188@qq.com", "yonghu": "liguixiou", "mima": "12345", "zichan": 700}, "2": {"youjian": "7290881882@qq.com", "yonghu": "liguixiou2", "mima": "123452", "zichan": 7002}}

列2 

#!/usr/bin/env python
# -*- coding:utf8 -*-
import json
a = [1,2,3,4,5,6,7,8] #列表
b = json.dumps(a) #将列表转换成字符串
print(b)
print(type(b)) #查看数据类型 a2 = {"desc":"OK","status":1000} #字典
b2 = json.dumps(a2) #将字典转换成字符串
print(b2)
print(type(b2)) #查看数据类型 #输出
# [1, 2, 3, 4, 5, 6, 7, 8]
# <class 'str'>
# {"desc": "OK", "status": 1000}
# <class 'str'>

json.loads()模块函数

功能:将字符串还原它本来的数据类型【有参】

使用方法:json.loads(要还原的字符串变量)

格式如:json.loads(b)

注意:不支持元祖

#!/usr/bin/env python
# -*- coding:utf8 -*-
import json a = open("yh.txt", "r") #以读模式打开文件
b = a.read() #读出文件里的字符串内容
a.close() #关闭打开的文件
print(b) #打印出读出的字符串内容 c = json.loads(b) #将字符串还原它本来的数据类型
print(c) #打印出还原的数据类型
#输出
# {"1": {"yonghu": "liguixiou", "zichan": 700, "youjian": "729088188@qq.com", "mima": "12345"}, "2": {"yonghu": "liguixiou2", "zichan": 7002, "youjian": "7290881882@qq.com", "mima": "123452"}}
# {'1': {'yonghu': 'liguixiou', 'zichan': 700, 'mima': '12345', 'youjian': '729088188@qq.com'}, '2': {'yonghu': 'liguixiou2', 'zichan': 7002, 'mima': '123452', 'youjian': '7290881882@qq.com'}}

列2

#!/usr/bin/env python
# -*- coding:utf8 -*-
import json
a = "[1,2,3,4,5,6,7,8]" #列表样式字符串
b = json.loads(a) #还原成python识别的列表
print(b)
print(type(b)) #查看数据类型 a2 = '{"desc":"OK","status":1000}' #字典样式字符串,注意:字典的单引号和双单引号,字典内部元素是字符串必须是双单引号
b2 = json.loads(a2) #还原成python识别的字典
print(b2)
print(type(b2)) #查看数据类型 #输出
# [1, 2, 3, 4, 5, 6, 7, 8]
# <class 'list'>
# {'status': 1000, 'desc': 'OK'}
# <class 'dict'>

json.dump()模块函数

功能:将Python数据类型转换成字符串,直接写入文件【有参】

使用方法:json.dump(要写入的数据类型变量,打开文件的句柄变量)

格式如:json.dump(a,b)

注意:json.dump()写入文件可以直接写入,不需要write()函数即可写入

#!/usr/bin/env python
# -*- coding:utf8 -*-
import json a = ["你好", "我好", "他好"] #创建一个列表
b = open("yh.txt", "w") #以写入模式打开一个文件
json.dump(a,b) #将Python数据类型转换成字符串,直接写入文件
b.close() #关闭打开的文件 #此时yh.txt文件里已经写入 ["\u4f60\u597d", "\u6211\u597d", "\u4ed6\u597d"]

json.load()模块函数

功能:读出文件里的字符串,还原它本来的数据类型【有参】

使用方法:json.load(打开文件的句柄变量)

格式如:json.load(a)

注意:json.load()读出文件可以直接读出,不需要read()函数即可读出

#!/usr/bin/env python
# -*- coding:utf8 -*-
import json a = open("yh.txt", "r") #以读出模式打开文件
b = json.load(a) #读出文件里的字符串,还原它本来的数据类型
print(b) #打印出还原的数据类型
#输出
#['你好', '我好', '他好']

第三十五节,json数据类型转换字符串模块的更多相关文章

  1. centos shell脚本编程1 正则 shell脚本结构 read命令 date命令的用法 shell中的逻辑判断 if 判断文件、目录属性 shell数组简单用法 $( ) 和${ } 和$(( )) 与 sh -n sh -x sh -v 第三十五节课

    centos   shell脚本编程1 正则  shell脚本结构  read命令  date命令的用法  shell中的逻辑判断  if 判断文件.目录属性  shell数组简单用法 $( ) 和$ ...

  2. 风炫安全web安全学习第三十五节课 文件下载和文件读取漏洞

    风炫安全web安全学习第三十五节课 文件下载和文件读取漏洞 0x03 任意文件下载漏洞 一些网站由于业务需求,往往需要提供文件下载功能,但若对用户下载的文件不做限制,则恶意用户就能够下载任意敏感文件, ...

  3. 第三百三十五节,web爬虫讲解2—Scrapy框架爬虫—豆瓣登录与利用打码接口实现自动识别验证码

    第三百三十五节,web爬虫讲解2—Scrapy框架爬虫—豆瓣登录与利用打码接口实现自动识别验证码 打码接口文件 # -*- coding: cp936 -*- import sys import os ...

  4. 第三十五节,目标检测之YOLO算法详解

    Redmon, J., Divvala, S., Girshick, R., Farhadi, A.: You only look once: Unified, real-time object de ...

  5. 第二百三十五节,Bootstrap栅格系统

    Bootstrap栅格系统 学习要点: 1.移动设备优先 2.布局容器 3.栅格系统 本节课我们主要学习一下 Bootstrap 的栅格系统,提供了一套响应式.移动设备优先的流 式栅格系统. 一.移动 ...

  6. 第一百三十五节,JavaScript,封装库--拖拽

    JavaScript,封装库--拖拽 封装库新增1个拖拽方法 /** tuo_zhuai()方法,将一个弹窗元素实现拖拽功能 * 注意:一般需要在css文件将元素里的某一个区块光标设置成提示可以拖拽, ...

  7. [ExtJS5学习笔记]第三十五节 sencha extjs 5 组件查询方法总结

    一个UI前台组件肯定会比较多,我们通常习惯性的使用ID来获取需要操作的组件,但是这种方法是extjs推荐的么?有没有extjs推荐使用的获取组件的方法呢? 目录 目录 extjs的查询组件的API 查 ...

  8. 第五十五节,IO多路复用select模块加socket模块,伪多线并发

    IO多路复用select模块加socket模块,伪多线并发,并不是真正的多线程并发,实际通过循环等待还是一个一个处理的 IO多路复用,lo就是文件或数据的输入输出,IO多路复用就是可以多用户操作 IO ...

  9. 第三十六节,目标检测之yolo源码解析

    在一个月前,我就已经介绍了yolo目标检测的原理,后来也把tensorflow实现代码仔细看了一遍.但是由于这个暑假事情比较大,就一直搁浅了下来,趁今天有时间,就把源码解析一下.关于yolo目标检测的 ...

随机推荐

  1. 对web.config加密,和解密码详细说明

    可以使用受保护配置来加密 Web 应用程序配置文件(如 Web.config 文件)中的敏感信息(包括用户名和密码.数据库连接字符串和加密密钥).对配置信息进行加密后,即使攻击者获取了对配置文件的访问 ...

  2. SQLServer 重建索引前后对比

    在做维护项目的时,我们经常会遇到索引维护的问题,通过语句,我们就可以判断某个表的索引是否需要重建. 执行一下语句:先分析表的索引 分析表的索引建立情况:DBCC showcontig('Table') ...

  3. spring可以get到bean,注入却为空

    使用spring的时候,已经将要用的bean注入到容器之中却发现在程序中总是报null,后来发现是因为当前的启动类没有在容器之中,所以用上下文可以get到,但是注入却无效

  4. 关于Application的onCreate以及Activity生命周期在源码里都是什么时候调用的

    在ActivityThread.handleLaunchActivity中 Activity a = performLaunchActivity(r, customIntent);这一方法最终回调目标 ...

  5. ubuntu14.04 下安装mysql5.6

    1.sudo apt-get install mysql-server-5.6 2.测试是否安装成功 ps aux |grep mysql mysql -u root -p 3.允许远程访问设置 su ...

  6. electron的艰难安装之旅

    最近对前端开发很感兴趣,抽空研究了下前段的开发工具,发现比较流行的是sublime,atom,vscode等, 由于一直以来从事.net开发所以对vscode很感兴趣,在vscode的安装配置过程偶然 ...

  7. android判断文件是否是图片文件的方法

    判断一个文件是否是图片文件的方法,采用BitmapFactory去decode然后根据返回的Options参数来确定: public static boolean isImageFile(String ...

  8. dropdown-toggle 的点击禁用

    <div class="dropdown select-dropdown" id="choiceTagdiv"> <a class=" ...

  9. zoj 1718 poj 2031 Building a Space Station

    最小生成树,用了Kruskal算法.POJ上C++能过,G++不能过... 算出每两个圆心之间的距离,如果距离小于两半径之和,那么这两个圆心之间的距离直接等于0,否则等于距离-R[i]-R[j]. # ...

  10. java 截屏 类似于 QQ截屏

    package com.sun.test; import java.awt.AWTException;import java.awt.BorderLayout;import java.awt.Colo ...