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使用装饰器和线程限制函数执行时间的方法
Apr 18 Python
python制作爬虫并将抓取结果保存到excel中
Apr 06 Python
对Python进行数据分析_关于Package的安装问题
May 22 Python
Python简单删除列表中相同元素的方法示例
Jun 12 Python
Pycharm远程调试openstack的方法
Nov 21 Python
使用python进行拆分大文件的方法
Dec 10 Python
python截取两个单词之间的内容方法
Dec 25 Python
对Python Class之间函数的调用关系详解
Jan 23 Python
pyqt5 tablewidget 利用线程动态刷新数据的方法
Jun 17 Python
python3操作注册表的方法(Url protocol)
Feb 05 Python
Python递归函数特点及原理解析
Mar 04 Python
python3实现简单飞机大战
Nov 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
星际争霸 Starcraft 编年史
2020/03/14 星际争霸
用PHP实现ODBC数据分页显示一例
2006/10/09 PHP
10条PHP编程习惯助你找工作
2008/09/29 PHP
php递归json类实例
2014/12/02 PHP
php生成shtml类用法实例
2014/12/09 PHP
php实现二进制和文本相互转换的方法
2015/04/18 PHP
PHP模拟post提交数据方法汇总
2016/02/16 PHP
PHP实现的XML操作类【XML Library】
2016/12/29 PHP
PHP中创建和编辑Excel表格的方法
2018/09/13 PHP
JS上传图片前的限制包括(jpg jpg gif及大小高宽)等
2012/12/19 Javascript
JS 实现Json查询的方法实例
2013/04/12 Javascript
JavaScript获取网页支持表单字符集的方法
2015/04/02 Javascript
angular+ionic返回上一页并刷新页面
2017/08/08 Javascript
js/jquery遍历对象和数组的方法分析【forEach,map与each方法】
2019/02/27 jQuery
详解javascript 变量提升(Hoisting)
2019/03/12 Javascript
使用localStorage替代cookie做本地存储
2019/09/25 Javascript
微信小程序自定义顶部组件customHeader的示例代码
2020/06/03 Javascript
Js利用正则表达式去除字符串的中括号
2020/11/23 Javascript
[05:17]DOTA2睡衣妹卖萌求签名 CJ第二天全明星影像
2013/07/28 DOTA
python 生成不重复的随机数的代码
2011/05/15 Python
Python3.6正式版新特性预览
2016/12/15 Python
Python简单定义与使用字典dict的方法示例
2017/07/25 Python
python 函数内部修改外部变量的方法
2018/12/18 Python
Tornado实现多进程/多线程的HTTP服务详解
2019/07/25 Python
解决Django Haystack全文检索为空的问题
2020/05/19 Python
Python中的__init__作用是什么
2020/06/09 Python
Python接口自动化测试框架运行原理及流程
2020/11/30 Python
师范学院毕业生求职信范文
2013/12/26 职场文书
同学聚会欢迎辞
2014/01/14 职场文书
九年级英语教学反思
2014/01/31 职场文书
安全月活动总结
2014/05/05 职场文书
情况说明书格式范文
2014/05/06 职场文书
企业安全生产月活动总结
2014/07/05 职场文书
毕业生评语大全
2015/01/04 职场文书
公司放假通知范文
2015/04/14 职场文书
Python使用Opencv打开笔记本电脑摄像头报错解问题及解决
2022/06/21 Python