首页 > 编程 > Python > 正文

python数据封装json格式数据

2020-01-04 15:46:25
字体:
来源:转载
供稿:网友

最简单的使用方法是:

>>> 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教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表