python数据封装json格式数据


Posted in Python onMarch 04, 2018

最简单的使用方法是:

>>> import simplejson as json 
>>> json.dumps(['foo', {'bar': ('baz', None, 1.0, 2)}]) 
'["foo", {"bar": ["baz", null, 1.0, 2]}]' 
>>> print(json.dumps("\"foo\bar")) 
"\"foo\bar" 
>>> print(json.dumps(u'\u1234')) 
"\u1234" 
>>> print(json.dumps('\\')) 
"\\" 
>>> print(json.dumps({"c": 0, "b": 0, "a": 0}, sort_keys=True)) 
{"a": 0, "b": 0, "c": 0} 
>>> from simplejson.compat import StringIO 
>>> io = StringIO() 
>>> json.dump(['streaming API'], io) 
>>> io.getvalue() 
'["streaming API"]'

一般情况下:

>>> import simplejson as json 
>>> obj = [1,2,3,{'4': 5, '6': 7}] 
>>> json.dumps(obj, separators=(',', ':'), sort_keys=True) 
'[1,2,3,{"4":5,"6":7}]'

这样得到的json数据不易于查看,所有数据都显示在一行上面。如果我们需要格式更加良好的json数据,我们可以如下使用方法:

>>> import simplejson as json 
>>> 
>>> s = json.dumps({'4': 5, '6': 7}, sort_keys=True, indent=4) 
>>> s 
'{\n  "4": 5,\n  "6": 7\n}' 
>>> print('\n'.join([l.rstrip() for l in s.splitlines()])) 
{ 
  "4": 5, 
  "6": 7 
} 
>>>

\n不会影响json本身的数据解析,请放心使用。

解析json格式的字符串:

obj = [u'foo', {u'bar': [u'baz', None, 1.0, 2]}] 
json.loads('["foo", {"bar":["baz", null, 1.0, 2]}]') == obj 
True 
json.loads('"\\"foo\\bar"') == u'"foo\x08ar' 
True 
from StringIO import StringIO 
io = StringIO('["streaming API"]') 
json.load(io)[0] == 'streaming API' 
True

读取并解析json格式文件

def edit(request): 
  filepath = os.path.join(os.path.dirname(__file__),'rights.json') 
  content = open(filepath).read().decode('utf-8') 
  rights = simplejson.loads(content) 
  print rights 
  print rights[0]['manageTotal']

json数据格式为:

[{"manageTotal":"管理"}]

注意:json不支持单引号

Python 相关文章推荐
详解Python中break语句的用法
May 14 Python
一篇文章快速了解Python的GIL
Jan 12 Python
深入理解Python 关于supper 的 用法和原理
Feb 28 Python
python实现多线程网页下载器
Apr 15 Python
python实现将一个数组逆序输出的方法
Jun 25 Python
win10下tensorflow和matplotlib安装教程
Sep 19 Python
Python设计模式之备忘录模式原理与用法详解
Jan 15 Python
浅谈python3.6的tkinter运行问题
Feb 22 Python
python语言元素知识点详解
May 15 Python
使用Python实现跳帧截取视频帧
May 31 Python
Pytorch释放显存占用方式
Jan 13 Python
使用python的pyplot绘制函数实例
Feb 13 Python
Python爬虫实例扒取2345天气预报
Mar 04 #Python
Python爬虫设置代理IP的方法(爬虫技巧)
Mar 04 #Python
浅析python实现scrapy定时执行爬虫
Mar 04 #Python
Python使用Scrapy爬虫框架全站爬取图片并保存本地的实现代码
Mar 04 #Python
Python爬虫框架Scrapy实例代码
Mar 04 #Python
详解python中asyncio模块
Mar 03 #Python
python3.6+django2.0开发一套学员管理系统
Mar 03 #Python
You might like
PHP APC缓存配置、使用详解
2014/03/06 PHP
php实现cookie加密的方法
2015/03/10 PHP
javascript通过class来获取元素实现代码
2013/02/20 Javascript
浅析javascript中function 的 length 属性
2014/05/27 Javascript
网页实时显示服务器时间和javscript自运行时钟
2014/06/09 Javascript
js实现仿Discuz文本框弹出层效果
2015/08/13 Javascript
jQuery筛选数组之grep、each、inArray、map的用法及遍历json对象
2016/06/20 Javascript
详解Vue的常用指令v-if, v-for, v-show,v-else, v-bind, v-on
2018/10/12 Javascript
解决layUI的页面显示不全的问题
2019/09/20 Javascript
VUE DEMO之模拟登录个人中心页面之间数据传值实例
2019/10/31 Javascript
[01:32]DOTA2 2015国际邀请赛中国区预选赛第四日战报
2015/05/29 DOTA
python文件和目录操作函数小结
2014/07/11 Python
Python中time模块和datetime模块的用法示例
2016/02/28 Python
详解Python 数据库 (sqlite3)应用
2016/12/07 Python
centos6.7安装python2.7.11的具体方法
2017/01/16 Python
windows系统下Python环境搭建教程
2017/03/28 Python
Windows下的Jupyter Notebook 安装与自定义启动(图文详解)
2018/02/21 Python
python sklearn常用分类算法模型的调用
2019/10/16 Python
Tensorflow获取张量Tensor的具体维数实例
2020/01/19 Python
利用python查看数组中的所有元素是否相同
2021/01/08 Python
浅谈基于HTML5的在线视频播放方案
2016/02/18 HTML / CSS
html5写一个BUI折叠菜单插件的实现方法
2019/09/11 HTML / CSS
发现世界上最好的珠宝设计师:JewelStreet
2017/12/17 全球购物
介绍一下grep命令的使用
2015/06/12 面试题
银行毕业实习自我鉴定
2013/09/19 职场文书
优秀交警事迹材料
2014/01/26 职场文书
致跳高运动员加油稿
2014/02/12 职场文书
合作经营协议书范本
2014/04/17 职场文书
应届硕士毕业生自荐信
2014/05/26 职场文书
平安家庭示范户事迹
2014/06/02 职场文书
文明工地标语
2014/06/16 职场文书
社团活动总结书
2014/06/27 职场文书
音乐教育专业自荐信
2014/09/18 职场文书
关爱留守儿童捐款倡议书
2015/04/27 职场文书
排查并解决MySQL生产库内存使用率高的报警
2022/04/11 MySQL
Redis实现短信验证码登录的示例代码
2022/06/14 Redis