【python】JSON快速使用

文章目录

1、什么是JSON

  • json全名叫javaScript 对象表示法(J avaS cript O bject Notation)
  • JSON是轻量级的文本数据交换格式
  • JSON独立语言
  • json具有自我描述性,更易理解
  • json比xml更小、更快,更易解析

2、JSON标准库的作用

  • 使用json字符串生成python对象(load)
  • 由python对象格式化称为json字符串(dump)

3、python和json数据类型转换

将数据从python 转换到json格式,数据类型上会有变化

python json
dict object
list,tuple array
str string
int,float&float-derived Enums number
True true
False false
None null

4、json使用

json模块使用简单,绝大多数场合下,我们只需要使用下面四个方法就可以了

  • json.dump(obj,fp)将python 数据类型转换并保存到json格式的文件内
  • json.dumps(obj)将python数据类型转换为json格式的字符串
  • json.load(fp)从json格式的文件中读取数据并转换程python类型
  • json.loads(s)将json格式的字符串转化为python的类型

4.1、从python 对象格式化一个Json String

python 复制代码
person = {"name":"ZS","age":30,"tel":['17788866677','19988866645'],"isonly":True}
print(type(person))
print(person)

jsonStr = json.dumps(person,indent=4,sort_keys=True)#对key进行排序
print(type(jsonStr))
print(jsonStr)

【output】

bash 复制代码
<class 'dict'>
{'name': 'ZS', 'age': 30, 'tel': ['17788866677', '19988866645'], 'isonly': True}
<class 'str'>
{
    "age": 30,
    "isonly": true,
    "name": "ZS",
    "tel": [
        "17788866677",
        "19988866645"
    ]
}

4.2、写入.json文件

bash 复制代码
with open('data.json','w') as fp:
    json.dump(person,fp,indent=4)

4.3、Json String 转化成python 对象

python 复制代码
print(type(pythonObj))
print(pythonObj)
s = '["a",1,"AGE",{"F":true,"l":"na"}]'
pythonObj = json.loads(s)
print(type(pythonObj))
print(pythonObj)

【output】

bash 复制代码
<class 'dict'>
{'age': 30, 'isonly': True, 'name': 'ZS', 'tel': ['17788866677', '19988866645']}
<class 'list'>
['a', 1, 'AGE', {'F': True, 'l': 'na'}]

4.4、读取.json文件

python 复制代码
with open('data.json','r') as fp:
    pyObj = json.load(fp)
print(pyObj)
相关推荐
uyeonashi2 分钟前
【C++】从零实现Json-Rpc框架(2)
开发语言·c++·rpc·json
Excuse_lighttime3 分钟前
JAVA阻塞队列
java·开发语言·jvm
啊阿狸不会拉杆5 分钟前
第二十八章:Python可视化图表扩展-和弦图、旭日图、六边形箱图、桑基图和主题流图
开发语言·python
wumingxiaoyao13 分钟前
Python 如何高效实现 PDF 内容差异对比
python·pdf·pymupdf·fitz
Dontla42 分钟前
HTTP查询参数示例(XMLHttpRequest查询参数)(带查询参数的HTTP接口示例——以python flask接口为例)flask查询接口
python·http·flask
人类群星闪耀时1 小时前
破解 N 皇后 II:位运算的高效艺术
python·算法·数学建模
最强菜鸟1 小时前
python爬虫爬取淘宝热销(热门)零食商品加数据清洗、销量、店铺及词云数据分析_源码及相关说明文档;售后可私博主
爬虫·python·数据分析
green5+11 小时前
LeetCode18四数之和
java·开发语言·算法
啊阿狸不会拉杆1 小时前
第二十五章:Python-pyecharts 库实现 3D 地图绘制
开发语言·python·地图