python数据分析系列教程——python对象与json字符串的相互转化,json文件的存储与读取
来源:互联网 发布:veket linux安卓版 编辑:程序博客网 时间:2024/06/11 14:05
全栈工程师开发手册 (作者:栾鹏)
python教程全解
在json字符串和python对象的相互转化中,会进行下列变换。
会将python中字典的写法,转化为js中对象的写法。(没有区别)。
会将python中列表的写法,转化为js中array的写法。(没有区别)
会将python中unicode的写法,转化为js中string的写法。(与编码有关)
会将python中的int,long的写法,转化为js中number的写法。(没有区别)
会将python中的True的写法,转化为js中true的写法。(写法有区别)
会将python中的False的写法,转化为js中false的写法。(写法有区别)
会将python中的None的写法,转化为js中null的写法。(写法有区别)
反过来也是对应转换。
js中类型 Python中类型object dictarray liststring unicodenumber (int) int, longnumber (real) floattrue Truefalse Falsenull None
python字典所有的键必须为字符串,值可以是任何对象。包括字典、列表、字符串、数值、布尔值以及null。
json库集成在了标准库中。使用import json即可引入。所以不用安装外部包。
python对象转化为json字符串、python对象存储成json文件
json.dumps 将 Python 对象编码成 JSON 字符串
json.dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, encoding="utf-8", default=None, sort_keys=False, **kw)
dumps函数包含一些参数,可以使用参数让 JSON 数据格式化输出。
sort_keys参数:是否对键值排序。sort_keys=True
separators:分隔符。separators=(‘,’, ‘: ‘) 参数:两个键值对间的分隔符,键和值中间的分隔符
indent:缩进字符数。indent=10
encoding:编码类型。encoding=”utf-8”
json.dump 将 Python 对象存储成 JSON文件
json.dump(obj, fp, *, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None, sort_keys=False, **kw)
测试用例。运行环境python3.6
import jsonmyobject = { 'key2': { 'key31': None, 'key32': False, 'key33': 13.6, }, 'key1': { 'key22': ['value22_1', 'value22_2'] }}#将对象或对象数组转化为json字符串jsonstr =json.dumps(myobject, indent=4,sort_keys=True)print(jsonstr)#python对象或对象数组写入json文件:方法1with open('data.json', 'w') as f: json.dump(myobject, f)#python对象或对象数组写入json文件:方法2import iof=io.open('data1.json', 'w', encoding='utf-8')json.dump(myobject, f, ensure_ascii=False)
json字符串转化为python对象,python读取json文件
json.loads 将已编码的 JSON 字符串解码为 Python 对象
json.loads(s, *, encoding=None, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)
json.load 将已编码的 JSON 文件解码为 Python 对象
json.load(fp, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)
测试用例。运行环境python3.6
#coding:utf-8import json#将json字符串转化为对象或对象数组jsonstr = '{"key2": {"key31": null, "key32": false, "key33": 13.6}, "key1": {"key22": ["value22_1", "value22_2"]}}'obj = json.loads(jsonstr)print(obj)#读取json文件转换成python对象或对象数组:方法1with open('data1.json', 'r') as f: obj = json.load(f) print(obj)#读取json文件转换成python对象或对象数组:方法2import iof = io.open('data1.json', 'r', encoding='utf-8')json_str = f.readline() #读取文件内容obj = json.loads(json_str) #将json字符串转化为对象print(obj)
- python数据分析系列教程——python对象与json字符串的相互转化,json文件的存储与读取
- json数据与字符串的相互转化
- Json对象与Json字符串相互转化
- json对象与json字符串相互转化
- java 对象 与json字符串的相互转化
- Json字符串与字典对象的相互转化
- json与字符串的相互转化
- Json 与 后台对象的相互转化
- json与对象的相互转化
- Python对象和JSON对象的相互转化
- 【Python】python对象与json相互转换
- 【Python】python对象与json相互转换
- json对象与字符串...的相互转换
- 【python】复杂对象的创建过程与转化为json
- JSON字符串与对象的转化问题
- JSON对象与字符串的转化
- json字符串和对象的相互转化
- python json字符串与字典对象相互转换
- 02-PyCharm 的初始设置
- 万字总结:学习MySQL优化原理,这一篇就够了!
- Spring Xsd加载机制
- 史上最全最强SpringMVC详细示例实战教程
- 第一章 开始
- python数据分析系列教程——python对象与json字符串的相互转化,json文件的存储与读取
- 多线程
- C#中的线程(一)入门
- 应用深度学习(台大陈蕴侬&李宏毅) Part1
- ForkJoin框架示例(一)
- Linux--open函数使用详解
- 安装MySQL与安装Hive
- day8,9 c语言作业
- RandomAccess接口详解