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函数式编程
Jun 09 Python
python使用mailbox打印电子邮件的方法
Apr 30 Python
Python编程之Re模块下的函数介绍
Oct 28 Python
机器学习的框架偏向于Python的13个原因
Dec 07 Python
浅谈pandas中Dataframe的查询方法([], loc, iloc, at, iat, ix)
Apr 10 Python
python 字典中文key处理,读取,比较方法
Jul 06 Python
Python中按键来获取指定的值
Mar 02 Python
TensorFlow dataset.shuffle、batch、repeat的使用详解
Jan 21 Python
Python按照list dict key进行排序过程解析
Apr 04 Python
Django QuerySet查询集原理及代码实例
Jun 13 Python
scrapy实践之翻页爬取的实现
Jan 05 Python
Python获取字典中某个key的value
Apr 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
轻松修复Discuz!数据库
2008/05/03 PHP
深入理解PHP之require/include顺序 推荐
2011/01/02 PHP
JS中encodeURIComponent函数用php解码的代码
2012/03/01 PHP
使用Discuz关键词服务器实现PHP中文分词
2014/03/11 PHP
php使用fsockopen函数发送post,get请求获取网页内容的方法
2014/11/15 PHP
PHP判断网络文件是否存在的方法
2015/03/12 PHP
laravel实现批量更新多条记录的方法示例
2017/10/22 PHP
实例分析PHP将字符串转换成数字的方法
2019/01/27 PHP
tp5.1 实现setInc字段自动加1
2019/10/18 PHP
浅谈JavaScript正则表达式分组匹配
2015/04/10 Javascript
浅谈JavaScript中指针和地址
2015/07/26 Javascript
JQuery validate插件验证用户注册信息
2016/05/11 Javascript
Bootstrap中的Dropdown下拉菜单更改为悬停(hover)触发
2016/08/31 Javascript
vue2.0开发实践总结之入门篇
2016/12/06 Javascript
vue组件发布到npm简单步骤
2017/11/30 Javascript
AngularJS实现的base64编码与解码功能示例
2018/05/17 Javascript
vue-router 前端路由之路由传值的方式详解
2019/04/30 Javascript
微信小程序本地存储实现每日签到、连续签到功能
2019/10/09 Javascript
JavaScript实现切换多张图片
2021/01/27 Javascript
python链接oracle数据库以及数据库的增删改查实例
2018/01/30 Python
python矩阵转换为一维数组的实例
2018/06/05 Python
Python多继承原理与用法示例
2018/08/23 Python
六行python代码的爱心曲线详解
2019/05/17 Python
python如何实现数据的线性拟合
2019/07/19 Python
python爬虫爬取笔趣网小说网站过程图解
2019/11/18 Python
Python 字符串处理特殊空格\xc2\xa0\t\n Non-breaking space
2020/02/23 Python
详解基于python的全局与局部序列比对的实现(DNA)
2020/10/07 Python
突破canvas语法限制 让他支持链式语法
2012/12/24 HTML / CSS
乡镇干部个人对照检查材料(群众路线)
2014/09/26 职场文书
2014超市双十一活动策划方案
2014/09/29 职场文书
2014幼儿园中班工作总结
2014/11/10 职场文书
博士导师推荐信
2015/03/25 职场文书
学校禁毒宣传活动总结
2015/05/08 职场文书
新党员入党决心书
2015/09/22 职场文书
详解vue身份认证管理和租户管理
2021/05/25 Vue.js
postgresql使用filter进行多维度聚合的解决方法
2021/07/16 PostgreSQL