Python处理json格式数据
json
适用于现代 C++ 的 JSON。
项目地址:https://gitcode.com/gh_mirrors/js/json
免费下载资源
·
(一)JSON 数据格式
1.JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。JSON采用完全独立于语言的文本格式,这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。
2.JSON数据格式是数据传输中最常见的格式之一,人们喜欢使用这种格式,是因为它结构清晰,易于阅读且方便解析。网址在向页面JavaScript传输数据时,JSON是最常用的数据格式之一。
(二)JSON数据结构
- “名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),记录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。
- 值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。
(三)JSON知识
反序列化:是指将字符串转换成Python中的数据类型,目的是操作数据。
序列号:是指将Python中的数据类型转换成字符串,目的是将数据写入文本。
Json模块提供了四个功能:dumps()、dump()、loads()、load()。
1.dumps()方法把数据类型转换成字符串 。
2.dump()方法把数据类型转换成字符串并存储在文件中
3.loads()方法把字符串转换成数据类型
4. load()方法把文件打开从字符串转换成数据类型
1.dumps()方法把数据类型转换成字符串 。
a = [{'姓名': 'Kaina', '年龄': 22, '职业': '销售员', '工资': 5000}]
print(type(a))
b=json.dumps(a)
print(type(b))
- 1
- 2
- 3
- 4
结果演示:
<class 'list'>
<class 'str'>
- 1
- 2
- 3
2.dump()方法把数据类型转换成字符串并存储在文件中
import json
# with open("aim.json","a",encoding='utf-8') as f:
# a = [{'姓名': 'Kaina', '年龄': 22, '职业': '销售员', '工资': 5000}]
# print(a,type(a))
# #1.将列表类型数据转换成字符串类型
# s=json.dumps(a,ensure_ascii=False)
# print(s,type(s))
# f.write(s)
# print('写入完毕!')
with open("aim.json","a",encoding='utf-8') as f:
a = [{'姓名': 'Kaina', '年龄': 22, '职业': '销售员', '工资': 5000}]
print(type(a))
'''
1.消除乱码ensure_ascii=False
2.把数据类型转换成字符串并存储在文件中
'''
b=json.dump(a,f,ensure_ascii=False)
print('数据写入完毕!')
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
3.loads()方法把字符串转换成数据类型
(四)实例演示
1.test.json文本内容如下:
[
{
"姓名": "张三",
"年龄": 29,
"职业": "讲师",
"工资": 10000
},
{
"姓名": "李四",
"年龄": 26,
"职业": "主管",
"工资": 8000
}
,
{
"姓名": "王五",
"年龄": 27,
"职业": "程序员",
"工资": 9000
}
]
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
2.把test.json中的数据导入程序中
方法一
import json
#1.从josn文件中读取数据,并保存在josn_data变量中
json_data=open('test.json',encoding='utf-8').read()
print(type(json_data))
#2.json调用loads()方法将字符串数据转换成列表
data=json.loads(json_data)
print(type(data))
print(data)
for item in data:
print(item)
----------
方法二
import json
f=open('test.json',encoding='utf-8')
#1.将数据导入程序
data=json.load(f)
#2.遍历data,打印列表中的每一个字典
for dict_data in data:
print(dict_data)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
结果演示:
{'姓名': '张三', '年龄': 29, '职业': '讲师', '工资': 10000}
{'姓名': '李四', '年龄': 26, '职业': '主管', '工资': 8000}
{'姓名': '王五', '年龄': 27, '职业': '程序员', '工资': 9000}
- 1
- 2
- 3
- 4
- 5
3.获取字典某一键对应的值
import json
f=open('test.json',encoding='utf-8')
#1.将数据导入程序
data=json.load(f)
#2.遍历data,打印列表中的每一个字典
for dict_data in data:
print(dict_data['姓名'],'工资='+str(dict_data['工资']))
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
结果演示:
张三 工资=10000
李四 工资=8000
王五 工资=9000
- 1
- 2
- 3
- 4
4.将一个JSON文件中的内容写到另一个JSON文件中(复制)
import json
#1.从josn文件中读取数据,并保存在josn_data变量中
json_data=open('test.json',encoding='utf-8').read()
aim_f = open('aim.json', 'w', encoding='utf-8')
#2.把test.json文件中的数据Copy到aim.json中
#3.目标文件对象调用write()方法把字符串写入
aim_f.write(json_data)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
5.获取字典的最大值
import json
f=open('test.json',encoding='utf-8')
#1.将数据导入程序
data=json.load(f)
names=[]
salary=[]
#根据索引从列表中找到工资最高人的姓名
index=0
#2.遍历data,打印列表中的每一个字典
for dict_data in data:
names.append(dict_data['姓名'])
salary.append(dict_data['工资'])
for i ,value in enumerate(salary):
if value==10000:
index=i
print(names[index]+'工资最高:'+str(max(salary)))
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
结果演示:
{'姓名': '张三', '年龄': 29, '职业': '讲师', '工资': 10000}
{'姓名': '李四', '年龄': 26, '职业': '主管', '工资': 8000}
{'姓名': '王五', '年龄': 27, '职业': '程序员', '工资': 9000}
张三工资最高:10000
GitHub 加速计划 / js / json
41.72 K
6.61 K
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:1 个月前 )
960b763e
3 个月前
8c391e04
6 个月前
更多推荐
已为社区贡献8条内容
所有评论(0)