我们在做工作中经常会使用到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-8import Jsonstr = ‘‘‘ [{ "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‘}]<class ‘List‘>AnJingAnJing
注意:在使用loads的时候Json字符串必须要用双引号表示,否则会报错
(Json.decoder.JsONDecodeError: Expecting property name enclosed in double quotes: line 3 column 5 (char 12))
使用dumps()方法将Json转换成字符串
# Coding:utf-8import Jsonstr = [{ "name":"AnJing","age":"26"}]print(type(str))data = Json.dumps(str)print(type(data))print(data)代码结果:<class ‘List‘><class ‘str‘>[{"name": "AnJing","age": "26"}]
另外如果想要保存的文字好看点,我们可以增加一个参数indent,代表缩进字符个数,已经可以写入中文的时候不会乱码,加入ensure_ascii=False
# Coding:utf-8import Jsonstr = [{ "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 Jsonstr = [{ "name":"AnJing","age":"26"}]# 通过dumps写入文件中with open(‘123.Json‘,‘w‘)as f: f.write(Json.dumps(str))# 通过load将数据转换成Jsondata = Json.load(open(‘123.Json‘,‘r‘))print(data)代码结果:[{‘name‘: ‘AnJing‘,‘age‘: ‘26‘}]dump()方法
将Json数据写入到文件中
# Coding:utf-8import Jsonstr = [{ "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详解json模块全部内容,希望文章能够帮你解决python详解json模块所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)