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 切片和range()用法说明
Mar 24 Python
Python中tell()方法的使用详解
May 24 Python
深入讲解Python函数中参数的使用及默认参数的陷阱
Mar 13 Python
Eclipse和PyDev搭建完美Python开发环境教程(Windows篇)
Nov 16 Python
Python爬虫之正则表达式基本用法实例分析
Aug 08 Python
详解从Django Allauth中进行登录改造小结
Dec 18 Python
利用OpenCV和Python实现查找图片差异
Dec 19 Python
使用pytorch完成kaggle猫狗图像识别方式
Jan 10 Python
python实现飞机大战游戏(pygame版)
Oct 26 Python
Python3之乱码\xe6\x97\xa0\xe6\xb3\x95处理方式
May 11 Python
python中怎么表示空值
Jun 19 Python
解决Keras中CNN输入维度报错问题
Jun 29 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学习之PHP表达式
2006/10/09 PHP
PHP配置文件中最常用四个ini函数
2007/03/19 PHP
PHP 清空varnish 缓存的详解(包括指定站点下的)
2013/06/20 PHP
自己的js工具 Cookie 封装
2009/08/21 Javascript
JavaScript DOM 学习第七章 表单的扩展
2010/02/19 Javascript
javascript同页面多次调用弹出层具体实例代码
2013/08/16 Javascript
深入理解JS中的变量及作用域、undefined与null
2014/03/04 Javascript
js自动生成的元素与页面原有元素发生堆叠的解决方法
2014/09/04 Javascript
javascript转换日期字符串为Date日期对象的方法
2015/02/13 Javascript
浅谈javascript的分号的使用
2015/05/12 Javascript
jquery实现网页定位导航
2016/08/23 Javascript
纯js模仿windows系统日历
2017/02/04 Javascript
jQuery实现鼠标移到某个对象时弹出显示层功能
2018/08/23 jQuery
在js代码拼接dom对象到页面上的模板总结
2018/10/21 Javascript
Vue中跨域及打包部署到nginx跨域设置方法
2019/08/26 Javascript
jquery添加div实现消息聊天框
2020/02/08 jQuery
JavaScript实现瀑布流布局的3种方式
2020/12/27 Javascript
[01:39:04]DOTA2-DPC中国联赛 正赛 SAG vs CDEC BO3 第二场 2月1日
2021/03/11 DOTA
python读文件逐行处理的示例代码分享
2013/12/27 Python
总结Python编程中三条常用的技巧
2015/05/11 Python
Python实现简单的文件传输与MySQL备份的脚本分享
2016/01/03 Python
pandas表连接 索引上的合并方法
2018/06/08 Python
Python math库 ln(x)运算的实现及原理
2019/07/17 Python
pygame库实现俄罗斯方块小游戏
2019/10/29 Python
在keras中获取某一层上的feature map实例
2020/01/24 Python
在python里创建一个任务(Task)实例
2020/04/25 Python
浅谈keras使用中val_acc和acc值不同步的思考
2020/06/18 Python
使用python对excel表格处理的一些小功能
2021/01/25 Python
用HTML5实现网站在windows8中贴靠的方法
2013/04/21 HTML / CSS
Belvilla德国:在线预订度假屋
2018/04/10 全球购物
linux面试题参考答案(7)
2012/10/29 面试题
Hibernate持久层技术
2013/12/16 面试题
团日活动总结模板
2014/06/25 职场文书
2016年万圣节活动个人总结
2016/04/05 职场文书
Vue+TypeScript中处理computed方式
2022/04/02 Vue.js
Java对文件的读写操作方法
2022/04/29 Java/Android