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爬取csdn博客访问量
Feb 14 Python
用tensorflow实现弹性网络回归算法
Jan 09 Python
深入分析python数据挖掘 Json结构分析
Apr 21 Python
python 输入一个数n,求n个数求乘或求和的实例
Nov 13 Python
python3实现网络爬虫之BeautifulSoup使用详解
Dec 19 Python
对python借助百度云API对评论进行观点抽取的方法详解
Feb 21 Python
使用Python实现将list中的每一项的首字母大写
Jun 11 Python
Python3批量生成带logo的二维码方法
Jun 24 Python
解决pycharm运行程序出现卡住scanning files to index索引的问题
Jun 27 Python
将pytorch转成longtensor的简单方法
Feb 18 Python
python实现手势识别的示例(入门)
Apr 15 Python
Python实现Matplotlib,Seaborn动态数据图
May 06 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
Bo-Blog专用的给Windows服务器的IIS Rewrite程序
2007/08/26 PHP
php var_export与var_dump 输出的不同
2013/08/09 PHP
浅析ThinkPHP中的pathinfo模式和URL重写
2014/01/06 PHP
php将服务端的文件读出来显示在web页面实例
2016/10/31 PHP
php mysql数据库操作类(实例讲解)
2017/08/06 PHP
jQuery.autocomplete 支持中文输入(firefox)修正方法
2011/03/10 Javascript
Jquery获得控件值的三种方法总结
2014/02/13 Javascript
jquery幻灯片插件bxslider样式改进实例
2014/10/15 Javascript
jQuery大于号(>)选择器的作用解释
2015/01/13 Javascript
JS动态添加Table的TR,TD实现方法
2015/01/28 Javascript
iPhone手机上搭建nodejs服务器步骤方法
2015/07/06 NodeJs
JS简单编号生成器实现方法(附demo源码下载)
2016/04/05 Javascript
基于AngularJS实现iOS8自带的计算器
2016/09/12 Javascript
精读《Vue3.0 Function API》
2020/05/20 Javascript
部署vue+Springboot前后端分离项目的步骤实现
2020/05/31 Javascript
[01:45]DOTA2新英雄“神谕者”全方位展示
2014/11/21 DOTA
[02:01]2018完美盛典-开场舞《双子星》
2018/12/16 DOTA
[49:17]DOTA2-DPC中国联赛 正赛 Phoenix vs Dynasty BO3 第三场 1月26日
2021/03/11 DOTA
python中定义结构体的方法
2013/03/04 Python
pycharm 使用心得(三)Hello world!
2014/06/05 Python
python批量生成本地ip地址的方法
2015/03/23 Python
Django实现组合搜索的方法示例
2018/01/23 Python
mac 安装python网络请求包requests方法
2018/06/13 Python
python高阶爬虫实战分析
2018/07/29 Python
Python笔记之facade模式
2019/11/20 Python
PyQt5连接MySQL及QMYSQL driver not loaded错误解决
2020/04/29 Python
Python使用正则表达式实现爬虫数据抽取
2020/08/17 Python
Chain Reaction Cycles芬兰:世界上最大的在线自行车商店
2017/12/06 全球购物
Habitat家居英国官方网站:沙发、家具、照明、厨房和户外
2019/12/12 全球购物
最新大学生自我评价
2013/09/24 职场文书
学生思想表现的评语
2014/01/30 职场文书
给客户的检讨书
2014/12/21 职场文书
大学生暑期实践报告
2015/07/13 职场文书
导游词之襄阳古城
2019/09/27 职场文书
pycharm无法导入lxml的解决办法
2021/03/31 Python
B站评分公认最好看的动漫,你的名字评分9.9,第六备受喜欢
2022/03/18 日漫