python使用json格式進行數據封裝
官方地址(英文):http://simplejson.readthedocs.org/en/latest/
最簡單的使用方法是:
>>> 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
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!