python - json模块使用 / 快速入门
json基本格式
"""
json格式 -> [{}, {}]:
[{
"name": "Bob",
"gender": "male",
"Birthday": "1995-10-18"
},
{
"name": "Tom",
"gender": "female"
"Birthday": "1995-10-18"
}]
"""
在python中如何对json进行操作 (loads / dumps)
- loads() -> json字符串转列表类型
import json
str = '''
[{
"name": "Bob",
"gender": "male",
"Birthday": "1995-10-18"
},
{
"name": "Tom",
"gender": "female",
"Birthday": "1995-10-18"
}]
'''
# 将json字符串转换为python的列表
data = json.loads(str)
print(type(data)) # -> list
# 列表内部为字典类型
print(type(data[0])) # -> dict
'''
对于字典类型的获取:
(1). 直接索引
(2). 通过get()方法
推荐使用get()方法,因为即使检索不到相应的键值对不会报错,会返回None,同时还可以为(可能)不存在的键指定默认的值
'''
# print(data[0]["gender"]) -> 返回对应值
# print(data[0].get("gender")) -> 与上面返回值相同
# print(data[0].get("hobby", "sport")) -> 无对应值,返回默认值sport
# print(data[0]["hobby"]) -> 无对应值报错
- dumps() -> 列表转字符串
data = [{
'name': 'Zhao',
'gender': 'male',
'birthday': '1992-10-18'
}]
ts = json.dumps(data)
print(type(ts)) # -> str
Tip
使用dumps()方法时需要注意,当json中包含中文时,dumps()默认使用ascii对中文进行编码,当将json.dumps(data)直接输出到文件中时会显示中文的ascii编码
# 需要指定文件的输出编码
with open('data.json', 'w', encoding='utf-8') as f:
# 同时指定参数ensure_ascii=False
# indent=2是为了使得输出格式更美观
f.write(json.dumps(data, indent=2, ensure_ascii=False))
json作为字符串时,使用双引号!
# 使用单引号,抛出json.decoder.JSONDecodeError
tstr = '''
[{
'name': 'Bob',
'gender': 'male',
'Birthday': '1995-10-18'
}]
'''
print(json.loads(tstr))
python - json模块使用 / 快速入门的更多相关文章
- python json模块(15)
JSON 的全称是 JavaScript Object Notation,即 JavaScript 对象符号,它是一种轻量级.跨平台.跨语言的数据交换格式,其设计意图是把所有事情都用设计的字符串来表示 ...
- Spring第二篇【Core模块之快速入门、bean创建细节、创建对象】
前言 上篇Spring博文主要引出了为啥我们需要使用Spring框架,以及大致了解了Spring是分为六大模块的-.本博文主要讲解Spring的core模块! 搭建配置环境 引入jar包 本博文主要是 ...
- Python—json模块
用于序列化的两个模块 json,用于字符串 和 python数据类型间进行转换 pickle,用于python特有的类型 和 python的数据类型间进行转换 Json模块提供了四个功能:dumps. ...
- Python: json模块实例详解
ref:https://www.jianshu.com/p/e29611244810 https://www.cnblogs.com/qq78292959/p/3467937.html https:/ ...
- python json模块使用详情
python其他知识目录 #json.数据交换用到json文件.json是特殊的字符串.访问网站,返回的就是json 1.json简介: 定义:JSON(JavaScript Object Notat ...
- python json模块 超级详解
JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式.JSON的数据格式其实就是python里面的字典格式,里面可以包含方括号括起来的数组,也 ...
- python: json模块 --JSON编码和解码
json 源代码: Lib/json/__init__.py json.dump() import json numbers = [1, 2, 3, 4] with open('linshi.py', ...
- python json模块小技巧
python的json模块通常用于与序列化数据,如 def get_user_info(user_id): res = {"user_id": 190013234,"ni ...
- Python中的单元测试模块Unittest快速入门
前言 为什么需要单元测试? 如果没有单元测试,我们会遇到这种情况:已有的健康运行的代码在经过改动之后,我们无法得知改动之后是否引入了Bug.如果有单元测试的话,只要单元测试全部通过,我们就可以保证没有 ...
随机推荐
- 【Edu 67】 补题记录
CF1187D. Subarray Sorting 想要把一个数x换到前面,x一定是小一点的值.由于B串是固定的,A串可调整,我们可以遍历B数组,对于B[i],找到对于在A数组的位子pos,判断1-p ...
- POJ - 3436 ACM Computer Factory 网络流
POJ-3436:http://poj.org/problem?id=3436 题意 组配计算机,每个机器的能力为x,只能处理一定条件的计算机,能输出特定的计算机配置.进去的要求有1,进来的计算机这个 ...
- FZU oj Problem 2082 过路费
Problem 2082 过路费 Pro ...
- HDU 5793 A Boring Question 多校训练
There are an equation. ∑0≤k1,k2,⋯km≤n∏1⩽j<m(kj+1kj)%1000000007=?∑0≤k1,k2,⋯km≤n∏1⩽j<m(kj+1kj)%1 ...
- 林大妈的JavaScript进阶知识(三):HTML5 History API
HTML5中新增了History API,它用于管理浏览器路由跳转的一个url栈.History是window对象的一部分,它也是一个对象,因此称它是BOM(类似DOM,Browser Object ...
- 关于ASP.NET中WEBAPI中POST请求中FromBody修饰的string类型的参数服务器端获取不到值FromBody空值的简单解决方法
其实解决办法很简单,就是POST请求的时候,来自实体的参数,content-type:application/x-www-form-urlencoded情况下,是默认按照键值对来解析的,比如param ...
- .Net Core WebApi简单创建及使用
按照目前的软件开发发展趋势中,不管是前后端分离还是提供数据服务,WebApi使用的越来越广泛,而且.NET Core也是我们.NET开发人员未来发展的趋势,所以说学会使用.NET Core Api是非 ...
- 使用 jupyter-notebook + python + matplotlib 进行数据可视化
上次用 python 脚本中定期查询数据库,监视订单变化,将时间与处理完成订单的数量进行输入写入日志,虽然省掉了人为定时查看数据库并记录的操作,但是数据不进行分析只是数据,要让数据活起来! 为了方便看 ...
- FreeSql (三十四)CodeFirst 迁移说明
FreeSql 支持 CodeFirst 迁移结构至数据库,这应该是(O/RM)必须标配的一个功能. 与其他(O/RM)不同FreeSql支持更多的数据库特性,而不只是支持基础的数据类型,这既是优点也 ...
- 服务器替换san存储
1.通知DBA停库: 串行登陆服务器 2.备份系统信息 mkdir -p /bakinfo df -h > /bakinfo/df.txt_`date +%Y%m%d%H%M%S` ps -ef ...