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 Pygame的具体使用讲解
Nov 03 Python
对python requests的content和text方法的区别详解
Oct 11 Python
实例详解Matlab 与 Python 的区别
Apr 26 Python
获取Pytorch中间某一层权重或者特征的例子
Aug 17 Python
Python:合并两个numpy矩阵的实现
Dec 02 Python
Python hashlib常见摘要算法详解
Jan 13 Python
Python标准库shutil模块使用方法解析
Mar 10 Python
3种适用于Python的疯狂秘密武器及原因解析
Apr 29 Python
keras实现VGG16方式(预测一张图片)
Jul 07 Python
python跨文件使用全局变量的实现
Nov 17 Python
python四种出行路线规划的实现
Jun 23 Python
Python re.sub 反向引用的实现
Jul 07 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
Windows下PHP5和Apache的安装与配置
2006/09/05 PHP
PHP中使用Memache作为进程锁的操作类分享
2015/03/30 PHP
超强多功能php绿色集成环境详解
2017/01/25 PHP
Laravel 5.5官方推荐的Nginx配置学习教程
2017/10/06 PHP
javascript Zifa FormValid 0.1表单验证 代码打包下载
2007/06/08 Javascript
JQuery SELECT单选模拟jQuery.select.js
2009/11/12 Javascript
百度Popup.js弹出框进化版 拖拽小框架发布 兼容IE6/7/8,Firefox,Chrome
2010/04/13 Javascript
javascript面向对象之Javascript 继承
2010/05/04 Javascript
javascript刷新父页面的各种方法汇总
2014/09/03 Javascript
AngularJS中的模块详解
2015/01/29 Javascript
JavaScript Window浏览器对象模型方法与属性汇总
2015/04/20 Javascript
微信小程序实现顶部普通选项卡效果(非swiper)
2020/06/19 Javascript
Vue中的作用域CSS和CSS模块的区别
2018/10/09 Javascript
微信小程序动画(Animation)的实现及执行步骤
2018/10/28 Javascript
详解vue-router导航守卫
2019/01/19 Javascript
vue 解决异步数据更新问题
2019/10/29 Javascript
jquery更改元素属性attr()方法操作示例
2020/05/22 jQuery
深入了解JavaScript词法作用域
2020/07/29 Javascript
python制作一个桌面便签软件
2015/08/09 Python
python中eval与int的区别浅析
2019/08/11 Python
Python的几种主动结束程序方式
2019/11/22 Python
Python的对象传递与Copy函数使用详解
2019/12/26 Python
Python 实现OpenCV格式和PIL.Image格式互转
2020/01/09 Python
Python实现弹球小游戏
2020/08/01 Python
如何用Matlab和Python读取Netcdf文件
2021/02/19 Python
美国二手奢侈品寄售网站:TheRealReal
2016/10/29 全球购物
Pure Collection美国官网:来自英国羊绒专家的奢华羊绒
2017/11/19 全球购物
机电一体化职业规划书
2014/01/07 职场文书
建筑施工安全生产责任书
2014/07/22 职场文书
2014全年工作总结
2014/11/27 职场文书
幼儿园综治宣传月活动总结
2015/05/07 职场文书
小学副班长竞选稿
2015/11/21 职场文书
公文格式,规则明细(新手收藏)
2019/07/23 职场文书
Redis 常见使用场景
2021/08/30 Redis
java实现面板之间切换功能
2022/06/10 Java/Android
nginx sticky实现基于cookie负载均衡示例详解
2022/12/24 Servers