在使用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. C++中int转为char 以及int 转为string和string 转int和空格分隔字符串

    1.对于int 转为char 直接上代码: 正确做法: void toChar(int b) { char u; ]; _itoa( b, buffer, ); //正确解法一 u = buffer[ ...

  2. php 编程效率(2)

    1.尽量静态化: 如果一个方法能被静态,那就声明它为静态的,速度可提高1/4,甚至我测试的时候,这个提高了近三倍. 当然了,这个测试方法需要在十万级以上次执行,效果才明显. 其实静态方法和非静态方法的 ...

  3. tensorflow安装相关的

    1 Install pip and Virtualenv sudo apt-get install python-pip python-dev python-virtualenv2 Create a ...

  4. Python朝花夕拾

    Q1:HTTP Error 403: Forbidden python中经常使用urllib2.urlopen函数提取网页源码,但是有些时候这个函数返回的却是:HTTP Error 403: Forb ...

  5. oracle之nomount、mount、open三种状态

    1.先来看下外国网站上的资料怎么说 Nomount – The database instance has been started (processes and memory structures ...

  6. 4.请求方式为application/json时的接口测试要如何做?

    1.单独新建一个线程组, 在信息头管理器中增加: 在Body Data中,添加json格式的内容(我不会写,直接用fiddler抓包,然后把TextView中的数据复制过来). 2.然后因为登录状态, ...

  7. 【转】Matrix67:十个利用矩阵乘法解决的经典题目

    好像目前还没有这方面题目的总结.这几天连续看到四个问这类题目的人,今天在这里简单写一下.这里我们不介绍其它有关矩阵的知识,只介绍矩阵乘法和相关性质.    不要以为数学中的矩阵也是黑色屏幕上不断变化的 ...

  8. 淘淘商城_day10_课堂笔记

    今日大纲 Dubbo入门学习 使用dubbo优化单点登录系统 系统间服务调用方式 浏览器直接访问 浏览器发起请求,通过ajax或jsonp方式请求: Httpclient方式 系统与系统之间通过Htt ...

  9. 第九十三节,html5+css3移动手机端流体布局,基础CSS,头部设计,轮播设计,底部设计

    html5+css3移动手机端流体布局,基础CSS,头部设计,轮播设计,底部设计 基础CSS 首先将通用css属性写好 @charset "utf-8"; /*通用样式*/ /*去 ...

  10. java--方法重写与重载

    方法重写 /*方法重写(一般多用在继承上) 定义:它是指子类和父类的关系,子类重写了父类的方法. 两个方法返回值.方法名.参数列表必须完全一致! 出现原因:在Java中,子类可继承父类中的方法,而不需 ...