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使用post提交数据到远程url的方法
Apr 29 Python
python 打印直角三角形,等边三角形,菱形,正方形的代码
Nov 21 Python
Python使用smtp和pop简单收发邮件完整实例
Jan 09 Python
Python实现翻转数组功能示例
Jan 12 Python
python merge、concat合并数据集的实例讲解
Apr 12 Python
Python的条件表达式和lambda表达式实例
Jan 31 Python
python经典趣味24点游戏程序设计
Jul 26 Python
Django为窗体加上防机器人的验证码功能过程解析
Aug 14 Python
用Python去除图像的黑色或白色背景实例
Dec 12 Python
python str字符串转uuid实例
Mar 03 Python
Python之变量类型和if判断方式
May 05 Python
python3.6.8 + pycharm + PyQt5 环境搭建的图文教程
Jun 11 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的类树(支持无限分类)
2006/10/09 PHP
Thinkphp多文件上传实现方法
2014/10/31 PHP
Yii使用ajax验证显示错误messagebox的解决方法
2014/12/03 PHP
PHP+jQuery实现即点即改功能示例
2019/02/21 PHP
PHP针对redis常用操作实例详解
2019/08/17 PHP
不要在cookie中使用特殊字符的原因分析
2010/07/13 Javascript
javascript学习笔记(十九) 节点的操作实现代码
2012/06/20 Javascript
jquery 插件学习(六)
2012/08/06 Javascript
JQuery onload、ready概念介绍及使用方法
2013/04/27 Javascript
jquery toolbar与网页浮动工具条具体实现代码
2014/01/12 Javascript
JavaScript实现简单的tab选项卡切换
2016/01/05 Javascript
JavaScript DOM 对象深入了解
2016/07/20 Javascript
基于CSS3和jQuery实现跟随鼠标方位的Hover特效
2016/07/25 Javascript
javascript循环链表之约瑟夫环的实现方法
2017/01/16 Javascript
从零开始最小实现react服务器渲染详解
2018/01/26 Javascript
微信小程序中换行空格(多个空格)写法详解
2018/07/10 Javascript
js实现黑白div块画空心的图形
2018/12/13 Javascript
通过扫小程序码实现网站登陆功能
2019/08/22 Javascript
微信小程序自定义纯净模态框(弹出框)的实例代码
2020/03/09 Javascript
Nuxt的路由动画效果案例
2020/11/06 Javascript
[51:36]EG vs VP 2018国际邀请赛淘汰赛BO3 第一场 8.24
2018/08/25 DOTA
Python结巴中文分词工具使用过程中遇到的问题及解决方法
2017/04/15 Python
python实现简易版计算器
2020/06/22 Python
编写多线程Python服务器 最适合基础
2018/09/14 Python
python Web flask 视图内容和模板实现代码
2019/08/23 Python
python程序中的线程操作 concurrent模块使用详解
2019/09/23 Python
关于pytorch处理类别不平衡的问题
2019/12/31 Python
Pytorch释放显存占用方式
2020/01/13 Python
python PIL模块的基本使用
2020/09/29 Python
使用html5新特性轻松监听任何App自带返回键的示例
2018/03/13 HTML / CSS
类的核心特性有哪些
2014/01/01 面试题
篮球社团活动总结
2014/06/27 职场文书
党员弘扬焦裕禄精神思想汇报
2014/09/10 职场文书
教师四风问题整改措施
2014/09/25 职场文书
教师四风自我剖析材料
2014/09/30 职场文书
团代会开幕词
2015/01/28 职场文书