微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python数据封装json格式数据

最简单的使用方法是:

>>> import simplejson as json 
>>> json.dumps(['foo',{'bar': ('baz',None,1.0,2)}]) 
'["foo",{"bar": ["baz",null,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,"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,{"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',2]}] 
json.loads('["foo",{"bar":["baz",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不支持单引号

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐