Python对JSON的操作 day3
下面将为大家介绍如何使用python语言来编码和解码json对象;
json串就是一个字符串,json串必须用双引号,不能使用单引号
使用json函数需要导入json库,import json
1、json.dumps: 将python对象编码成json字符串
2、json.loads :将已编码的json字符串解码为python对象
json.dump()和json.load()主要用来读写json文件函数
1、json.dump() : 将json信息写入文件
2、json.load() :读取json文件转为字典
下面是举例说明:
已知如下json串:
d={
"error_code": 0,
"stu_info": [
{
"id": 314,
"name": "矿泉水",
"sex": "男",
"age": 18,
"addr": "北京市昌平区",
"grade": "摩羯座",
"phone": "",
"gold": 100
},
{
"id": 315,
"name": "矿泉水",
"sex": "女",
"age": 27,
"addr": "上海",
"grade": "摩羯座",
"phone": "",
"gold": 100
}
]
}
一、将字典转换为字符串写入文件:
1、方法1:
with open('abc.json','w',encoding='utf-8') as fw:
s = json.dumps(d,ensure_ascii=False,indent = 4)
fw.write(s)
#1、中文乱码问题 ensure_ascii=False
#2、美观的问题 indent=n 的意思是每一个key前面加n个空格的意思
#3、abc.json可将json的颜色打印出来
2、方法2:
with open('abc.json','w',encoding='utf-8') as fw:
json.dump(d,fw,indent=4,ensure_ascii=False)
#不需要手动的write一次,直接可写入文件(第一个传入字典,第二个传入文件)
#此方法同上面两行代码的含义,更简单
二、将文件的字符串转换为字典:
1、方法1:
with open('abc.txt',encoding='utf-8') as fr:
result = fr.read()
print('result,刚从文件里面读出来的:',type(result))
dic = json.loads(result)
print('dic,转换之后的',dic,type(dic))
2、方法2:
with open('abc.txt',encoding='utf-8') as fr:
result= json.load(fr)
print('result',result,type(result))
# 直接读出文件内容,转为字典;此方法相当于上面方法1的代码含义
帮助理解可参考博客:
https://www.cnblogs.com/xiaomingzaixian/p/7286793.html
Python对JSON的操作 day3的更多相关文章
- python 发送json数据操作实例分析 - python
文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 本文实例讲述了python 发送json数据操作.分享给大家供大家参考,具体如下: # !/usr/bin/env py ...
- python对json的操作总结
Json简介:Json,全名 JavaScript Object Notation,是一种轻量级的数据交换格式.Json最广泛的应用是作为AJAX中web服务器和客户端的通讯的数据格式.现在也常用于h ...
- python中json的操作示例
先上一段示例 # -*- coding: cp936 -*- import json #构造一个示例数据,并打印成易读样式 j = {} j["userName"]="a ...
- python对json的操作总结 zz
Json简介:Json,全名 JavaScript Object Notation,是一种轻量级的数据交换格式.Json最广泛的应用是作为AJAX中web服务器和客户端的通讯的数据格式.现在也常用于h ...
- Python中json的简单读写操作
Python中json的简单读写操作 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的 ...
- python中json操作了解
什么是接口? 交换数据 http://openweathermap.org/current json简介 JSON 是存储和交换文本信息的语法.类似 XML JSON 语法是 JavaScript 语 ...
- python 序列化 json pickle
python的pickle模块实现了基本的数据序列和反序列化.通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储:通过pickle模块的反序列化操作,我们能够从文件 ...
- python 解析json loads dumps
认识 引用模块 重要函数 案例 排序 缩进参数 压缩 参考 认识 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于JavaScript(Standa ...
- python 解析json
一.概念 序列化(Serialization):将对象的状态信息转换为可以存储或可以通过网络传输的过程,传输的格式可以是JSON.XML等.反序列化就是从存储区域(JSON,XML)读取反序列化对象的 ...
随机推荐
- Java分代垃圾回收机制:年轻代/年老代/持久代(转)
虚拟机中的共划分为三个代:年轻代(Young Generation).年老点(Old Generation)和持久代(Permanent Generation).其中持久代主要存放的是Java类的类信 ...
- Openfire:访问Servlet时绕开Openfire的身份验证
假设有如下的场景,当我们开发一个允许Servlet访问的OF插件时,如果不需要身份验证的话,或者有其它的安全机制的话,我们会不希望每次都做一次OF的身份验证,而是能够直接访问Servlet.绕开身份验 ...
- FineReport实线java报表填报录入的效果图
Java报表-固定资产(增删改) Java报表-集团財务报表 Java报表-简单自由填报 Java报表-客户跟踪数据回填 Java报表-客户关系复杂填报 Java报表-批量导入 Java报表-批量删除 ...
- HDU 4540
简单得不能再简单的DP了. #include<iostream> const int inf=1<<30; using namespace std; int map[22][2 ...
- Android Studio第一次启动的Fetching android sdk component information的问题
1)进入刚安装的Android Studio文件夹下的bin文件夹.找到idea.properties文件,用文本编辑器打开. 2)在idea.properties文件末尾加入一行: disable. ...
- hdu5242 上海邀请赛 优先队列+贪心
题意是给你一棵树 n个点 n-1条边 起点是1 每一个点都有权值 每次能从根节点走到叶子节点 经行k次游戏 每次都是从1開始 拿过的点的权值不能拿第二次 问最大权值和. 開 ...
- ICM Technex 2017 and Codeforces Round #400 (Div. 1 + Div. 2, combined) C. Molly's Chemicals
感觉自己做有关区间的题目方面的思维异常的差...有时简单题都搞半天还完全没思路,,然后别人提示下立马就明白了...=_= 题意:给一个含有n个元素的数组和k,问存在多少个区间的和值为k的次方数. 题解 ...
- 我对ThreadLocal的理解
声明:小弟菜狗一个.对ThreadLocal的描写叙述和理解难免有所偏差 近期由于须要深入的了解android的handler消息机制而去查看了Looper的源代码.众所周知在主线程中是不须要在程序猿 ...
- Oracle GoldenGate从oracle db 到非oracle db的初始化数据同步的方法
非oracle db以 sqlserver为样例说明: 我的思路 A :oracle db 生产 B: oracle db 中间机 C: sqlserver db 目的端 A-> B-> ...
- 移动互联网App推广的十大难题
常常有朋友来问."我做了一个App,请问怎么推广啊?"或者就是"我们公司开发了一个App.想短时间内获取巨大的量."还有的就是问"有没有什么好渠道三个 ...