python内置json模块的作用_python详解json模块
我们在做工作中经常会使用到json模块,今天就简单介绍下json模块
什么是json
JSON ,全称为JavaScript Object Notation, 也就是JavaScript 对象标记,它通过对象和数组的组合米表示数据,构造简洁但是结构化程度非常高,是一种轻量级的数据交换格式。json模块在python中可以作为数据解析json
对象和数组
在JavaScript 语言中,一切都是对象。任何支持的类型都可以通过JSON来表示,例如字符串、数字、对象、数组等,但是对象和数组是比较特殊且常用的两种类型
对象:它在JavaScript中是使用花括号{ }包裹起来的内容,数据结构为{ keyl : valuel,key2:value2}的键值对结构。在面向对象的语言中,key为对象的属性,value 为对应的值。键名可以使用整数和字符串来表示。值的类型可以是任意类型。
数组:数组在JavaScript中是方括号[]包裹起来的内容,数据结构为[ ”java ” ,” javascript ”,"vb " ]的索引结构。在JavaScript中, 数组是一种比较特殊的数据类型,它也可以像对象那样使用键值对,但还是索引用得多。同样,值的类型可以是任意类型。
JSON对象格式
会发现和我们的字典格式是不是特别的一样
# 格式为{"name":"value"}
[{"name":"AnJing","age":"26"
}]
JSON简单使用
loads()方法
使用方法loads()将 json文字转化成json对象
# coding:utf-8
import json
str = '''
[{
"name":"AnJing",
"age":"26"
}]
'''
data = json.loads(str)
print(data)
print(type(data))
print(data[0]['name']) # 通过下标进行选择
print(data[0].get('name'))
代码结果:
[{'name': 'AnJing', 'age': '26'}]
AnJing
AnJing
注意:在使用loads的时候json字符串必须要用双引号表示,否则会报错
(json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 3 column 5 (char 12))
dumps()方法
使用dumps()方法将json转换成字符串
# coding:utf-8
import json
str = [{
"name":"AnJing",
"age":"26"
}]
print(type(str))
data = json.dumps(str)
print(type(data))
print(data)
代码结果:
[{"name": "AnJing", "age": "26"}]
另外如果想要保存的文字好看点,我们可以增加一个参数indent,代表缩进字符个数,已经可以写入中文的时候不会乱码,加入ensure_ascii=False
# coding:utf-8
import json
str = [{
"name":"安静",
"age":"26",
"性别":"男"
}]
# indent 表示缩进
# ensure_ascii=False 表示写入中文
with open('123.json','w',encoding='utf-8')as f:
f.write(json.dumps(str,indent=2,ensure_ascii=False))
代码结果:
[
{
"name": "安静",
"age": "26",
"性别": "男"
}
]
load()方法
将文件内容转换成json数据
# 导入json模块
import json
str = [{
"name":"AnJing",
"age":"26"
}]
# 通过dumps写入文件中
with open('123.json','w')as f:
f.write(json.dumps(str))
# 通过load将数据转换成json
data = json.load(open('123.json','r'))
print(data)
代码结果:
[{'name': 'AnJing', 'age': '26'}]
dump()方法
将json数据写入到文件中
# coding:utf-8
import json
str = [{
"name":"AnJing",
"age":"26"
}]
# 通过dump写入到json中
json.dump(str,open('123.json','w'))
# 通过load查看是否写入
data = json.load(open('123.json','r'))
print(data)
代码结果:
[{'name': 'AnJing', 'age': '26'}]
简单的写了写json模块的使用方法,以及json的简单介绍,欢迎继续补充没有涉及到的知识。
感觉写的对您有帮助的,点个关注不迷路~~~~
分类: python基础
来源:
测试-安静
https://www.cnblogs.com/qican/
标签:26,name,python,AnJing,json,详解,str,data
来源: https://www.cnblogs.com/rxxbb123/p/14234091.html
python内置json模块的作用_python详解json模块相关推荐
- python内置函数布尔值bool用法详解
python内置函数bool可将给定参数转换为bool类型,bool函数的返回值要么是True,要么是False,在做转换时,0, None,空字符串,空列表,空元组,空集合,空字典都会被转换为Fal ...
- python序列类型-Python内置序列类型之集合类型详解
1.集合概念 具有某种特定性质的事物的总体,集合里的东西叫作元素.Python中,集合(set)是一个无序不重复元素的序列. 2.集合的创建 可以使用大括号 { } 或者 set() 函数创建集合,注 ...
- python turtle库setpos_Python内置海龟(turtle)库绘图命令详解(二)
继续谈利用海龟库(turtle库)做图.在这篇文章(Python内置海龟(turtle)库绘图命令详解(一))中已经介绍了turtle的一些基本画图命令,包括画布的设计.画笔属性与状态的设置以及画笔的 ...
- python内置函数返回元素个数_Python内置函数
Python Python开发 Python语言 Python内置函数 Python内置函数 一.内置函数 什么是内置函数? 就是python给你提供的. 拿来直接⽤的函数, 比如print, inp ...
- 下面属于python内置对象的有哪些_python练习题-写一个函数,打印所有包含copy方法的内置对象...
代码: #encoding=utf-8 for i in dir(__builtins__): #print "i:",i try: #这里的i是个字符串,并不能直接用dir(i) ...
- 列举5个python内置函数和使用方法_python内置函数是什么
python内置函数如下表 用法及说明 1.abs(),返回数字的绝对值. 2.all(),如果集合中所有元素是true或集合为空集合,返回True. 3.any(),如果集合中有一项元素是true, ...
- python内置函数str的作用_Python3.6内置函数——str
英文文档 class(object='') class(object=b'',encoding='utf-8',errors='strict') Return a version ofobject. ...
- python 内置函数__name__的作用
(1)背景:在python中每个独立的python文件,都是一个模块.在导入文件时,文件中没有任何缩进的代码(即主方法)都会被执行一遍. (2)在实际开发中,开发人员会在主方法中增加一些测试代码,比如 ...
- python内置开发工具是什么_Python内置工具(tools)总结
Python提供了以下几个内置tools模块,简化开发 operator collections itertools functools 除此之外,还有一些其他工具,比如mimetools.unitt ...
最新文章
- Confluence 6 Home 和其他重要的目录
- CentOS6 安装并破解Jira 7
- 计算机考试一级考试基础知识,2016计算机一级考试msoffice基础知识
- 洛谷 P1208混合牛奶【贪心】
- XGBoost:Python下 安装
- SetBkMode函数用法详解
- C语言怎么确定用什么整形,【求助各位大虾!】 怎样用 if 语句验证一个整形数字。...
- 中缀表达式值(信息学奥赛一本通-T1358)
- NAT、远程访问和站点间***集成
- SpringBoot日记——日志框架篇
- 计算机软件技术基础_「连载」信息技术基础题型归纳之计算机软件2
- poj 1265-Area解题报告
- 神通数据库连接Oracle的Dblink
- 啥是Document类型
- java统计误码率_MATLAB通信工具箱来计算误码率
- C语言解决找零钱问题
- 使用Pytorch搭建U-Net网络并基于DRIVE数据集训练(语义分割)学习笔记
- 汉字笔顺字帖在线生成器网站源码
- html文档中strokestyle,HTML5简明教程-1.1.2.HTML5Canvas参考手册 之 笔触strokeStyle
- 毕业一周年总结-不忘初心,砥砺前行
热门文章
- java mysql自动备份_java定时备份数据之二_MySQL
- python3num='0123456789,num「:6:-1」=gt; '987'?「1:6:-1」为空
- 去某大厂三面总监面,因为迟到了5分钟,面试官当着我的面把简历扔垃圾桶了
- HTML+CSS做支付表单
- Java 运行时数据区域
- VTK:网格上插值网格用法实战
- OpenCASCADE绘制测试线束:图形命令之AIS 查看器——查看命令
- wxWidgets:wxSpinEvent类用法
- boost::sort模块spreadsort 完全排序的数据示例
- boost::safe_numerics::safe相关的测试程序