Python数据解析 - json模块处理JSON数据
2017-12-21 21:41
573 查看
示例代码
处理Python内置数据类型
# !/usr/bin/env python # -*- coding:utf-8 -*- """ JSON和Python数据类型对应关系(左边JSON,右边Python): object ———————— dict array ———————— list tuple string ———————— str int ———————— int true false ———————— True False null ———————— None json内置模块处理python内置数据类型: dumps(obj) 将Python数据类型转换为JSON格式字符串数据 dump(obj,file) 将Python数据类型转换为JSON格式字符串数据,并保存到文件中,返回值为None loads(jsonStr) 将JSON格式字符串转换为Python数据类型 load(file) 从文件中读取JSON格式字符串数据,并转换为Python数据类型 """ import json # dumps() loads() px=0 py=0.1 ps='json' pls=['a','b',1,'d'] pd={'c':'C','a':'A','b':1} jx=json.dumps(px) print(jx,type(jx)) print(json.loads(jx)) jy=json.dumps(py) print(jy,type(jy)) print(json.loads(jy)) js=json.dumps(ps) print(js,type(js)) print(json.loads(js)) jarr=json.dumps(pls) print(jarr,type(jarr)) print(json.loads(jarr)) jobj=json.dumps(pd) print(jobj,type(jobj)) print(json.loads(jobj)) print(json.dumps([1, 2, 3, {'4': 5, '6': 7}], separators=(',', ':'))) print(json.dumps({'4': 5, '6': 7},indent=4)) # dump() load() data={'name':'tom','age':18} with open('json/data.json',mode='w') as fw: json.dump(data,fw) with open('json/data.json',mode='r') as fr: data=json.load(fr) print(data,type(data))
处理自定义数据类型
# !/usr/bin/env python # -*- coding:utf-8 -*- """ 使用json处理Python class 对象 dumps(obj,default=function) dump(obj,file,default=function) loads(jsonStr,object_hook=function) load(file,object_hook=function) """ import json class Person(object): def __init__(self,name,age): self.name=name self.age=age def __str__(self): return '姓名:{} 年龄:{}'.format(self.name,self.age) def person2dict(person): """Person类对象到为Json字符串的转换函数""" return { 'name':person.name, 'age':person.age } def dict2person(d): """Json字符串到Person类对象的转换函数""" return Person(d['name'],d['age']) p=Person("张三",18) data=json.dumps(p,default=person2dict) # class--->JSON Object print(data) p=json.loads(data,object_hook=dict2person) # JSON Objec--->tclass print(p)
相关文章推荐
- Python数据解析 - jsonpath库处理JSON数据
- Python数据解析 - 使用csv模块处理CSV格式数据
- Python使用内置json模块解析json格式数据的方法
- 数据处理_文件读取_PythonPickle模块(笔记)
- Spark处理Json格式数据(Python)
- 如何传送自定义json数据并解析处理
- SpringMVC,接受、处理Json,fastjson解析json,用Postman4发送json数据
- python中用struct模块处理二进制数据(转)
- JavaScript如何处理解析JSON数据详解
- Python 获取接口数据,解析JSON,写入文件
- ext中对json数据的处理解析
- python解析json格式的天气数据
- 使用Python解析豆瓣上Json格式数据
- python处理json数据中的中文
- python处理scrapy抓取生成的json数据遇到的问题
- python中struct模块之字节型数据的处理
- pysam - 多种格式基因组数据(sam/bam/vcf/bcf/cram/…)读写与处理模块(python)--转载
- 使用Python解析JSON数据的基本方法
- python3处理不标准json数据
- 关于Android解析json数据的一些处理代码