~json库的使用
一、json简介
json全称"JavaScript Object Notation"(JavaScript对象表示法)它是一种基于文本,独立于语言的轻量级数据交换格式。易于让人阅读的文字为基础,用来传输由属性值或者序列值的值组成的数据对象(键值对)。JSON是JS对象的字符串表示法,它使用文本表示一个JS对象的信息,本质上是一个字符串。
json官网:https://www.json.org/
语法规范:
- 数据由键值对组成;
- 键值对由逗号分隔;
- 大括号保存对象(字典);
- 中括号保存数组(列表,元组);
- 字符串必须用双引号(“ ”)来包括;
| python | JSON |
| 字典 | 对象 |
| 列表或元组 | 数组 |
| 字符串 | 字符串 |
| int或float | 数字 |
| True或False | true或false |
| None | null |
二、json模块常用方法
- json.dumps(obj):将python数据转化为json。
- json.loads(s):将json数据转换为python数据。
- json.dump(obj,fp):转换为json并保存到文件中。
- json.load(fp):从文件中读取json,并转化为python数据。
import json
data_dict = {'name':'admin','age':'','sex':'男'} # python字典数据
r = json.dumps(data_dict) # 将python对象转化为json字符串
print(type(r))
s = json.loads(r, encoding='utf-8') # 将json字符串转换为python对象
print(s)
print(type(s))
import json
data_dict = {'name':'admin','age':'','sex':'男'} # python字典数据
# 将python对象数据写入json文件
with open('test.json','w',encoding='utf-8') as f:
# json.dump:将python字典数据写入json文件
# ensure_ascii=True:写入ASCII码,写入汉字设置为False
# indent=True:以缩进方式写入,否则为了节省空间会写成一行
json.dump(data_dict,f,ensure_ascii=True,indent=True)
# 读取json文件中的数据,转换为python对象
with open('test.json', 'r',encoding='utf-8') as f:
ob = json.load(f)
print(ob)
~json库的使用的更多相关文章
- 快速上手Unity原生Json库
现在新版的Unity(印象中是从5.3开始)已经提供了原生的Json库,以前一直使用LitJson,研究了一下Unity用的JsonUtility工具类的使用,发现使用还挺方便的,所以打算把项目中的J ...
- Java 下的 JSON库性能比较:JSON.simple
JSON已经成为当前服务器与WEB应用之间数据传输的公认标准,不过正如许多我们所习以为常的事情一样,你会觉得这是理所当然的便不再深入思考了.我们很少会去想用到的这些JSON库到底有什么不同,但事实上它 ...
- JSON库之性能比较:JSON.simple VS GSON VS Jackson VS JSONP
从http://www.open-open.com/lib/view/open1434377191317.html 转载 Java中哪个JSON库的解析速度是最快的? JSON已经成为当前服务器与WE ...
- C++ json库jsoncpp 吐槽
Explain 最近在做游戏接入SDK时用到C++的json库jsoncpp,jsoncpp 是一款优秀的json库,但恶心的一点是它采用Assert作为错误处理方法,而assert在linux下通过 ...
- 一个现代化的JSON库Moshi针对Android和Java
Moshi 是一个现代化的JSON库针对Android和Java.它可以很容易地解析JSON成Java对象: String json = ...; Moshi moshi = new Moshi.Bu ...
- [C#技术] .NET平台开源JSON库LitJSON的使用方法
一个简单示例: String str = "{’name’:’cyf’,’id’:10,’items’:[{’itemid’:1001,’itemname’:’hello’},{’itemi ...
- 高性能JSON库---FastJson(阿里巴巴)
1.FastJSON简单介绍 Fastjson是一个Java语言编写的高性能功能完好的JSON库. 它採用一种"假定有序高速匹配"的算法,把JSON Parse的性能提升到极致,是 ...
- Java几种常用JSON库性能比较
本篇通过JMH来测试一下Java中几种常见的JSON解析库的性能. 每次都在网上看到别人说什么某某库性能是如何如何的好,碾压其他的库.但是百闻不如一见,只有自己亲手测试过的才是最值得相信的. JSON ...
- JSON库的使用研究(三)
怎么选择JSON库? 从整体测试结果来看,总结如下: 用于序列化.反序列的功能,数量量小,吞吐量不大于10000每秒的,选择gson: 用于解析JSON的,还是用Fastjson吧,虽然听说坑很多. ...
- JSON库的使用研究(二)
Java 中哪个 JSON 库的解析速度是最快的? 这个问题有意义吗?各个JSON库的性能差距不大?呵呵,差距大不大,自己往下看吧! 这个问题我们应该分为以下四个维度进行研究: 1.序列化 2.反序列 ...
随机推荐
- 讨论关于RAID以及RAID对于存储的影响
定义及作用 RAID是Redundent Array of Inexpensive Disks的缩写,直译为“廉价冗余磁盘阵列”,也简称为“磁盘阵列”.后来RAID中的字母I被改作了Independe ...
- input标签type="file"上传文件的css样式
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- 使用adb 命令(atrace)抓起systrace的方法。【转】
本文转载自:https://www.cnblogs.com/liuliu-word/p/9963017.html adb shell atrace -c -b 10240 --async_start ...
- Dynamic Filter Networks
Dynamic Filter Networks 2019-06-10 11:29:19 Paper:http://papers.nips.cc/paper/6578-dynamic-filter-ne ...
- CDH 部署 Hadoop:5.开始安装
Cloudera Enterprise 6.2.x 或者参考https://blog.csdn.net/shawnhu007/article/details/52579204 第零步:优化相关 e ...
- UniPush使用指南
原贴:https://ask.dcloud.net.cn/article/35622 UniPush使用指南 分类:uni-app Push unipush 从HBuilderX 1.7.2起,uni ...
- oracle 的自定义的存储函数遇到的 package or function is in an invalid state
转: oracle 的自定义的存储函数遇到的 package or function is in an invalid state 2017-10-28 11:08:17 major_tom 阅读数 ...
- Qt连接数据库
Qt连接数据库,参数设置 //连接数据库 bool VCManageDatabase::connectMYSQL() { //判断testConnect连接是否存在并连接 if (QSqlDataba ...
- 软件定义网络基础---SDN控制平面
一:SDN控制平面 一个或多个SDN控制器组成,是网络的大脑. 对底层网络交换设备进行集中管理,状态监测.转发决策以及处理和调 度数据平面的流量: 通过北向接口向上层应用开放多个层次的可编程能 ...
- 【PHP】php7.2报错The each() function is deprecated. This message will be suppressed on furthe
php7.2以上 废除了 each()方法,项目中用到的地方会出现以下报错 The each() function is deprecated. This message will be suppre ...