Python 中 的 json 模組

來源:互聯網
上載者:User

標籤:python json dumps loads

python 中的json 模板主要的兩個功能:序列化和還原序列化
序列化: encoding   將python 資料 編碼成json 字串
對應的函數有 dump 和 dumps
還原序列化: decoding  將json 字串 解碼成 python 資料
對應的函數有 load 和 loads


json 序列化 dumps 執行個體:

Base example

>>> import json>>> data=[‘foo‘, {‘bar‘: (‘baz‘, None, 1.0, 2)}]>>> print data[‘foo‘, {‘bar‘: (‘baz‘, None, 1.0, 2)}]>>> json_data=json.dumps(data)>>> print json_data["foo", {"bar": ["baz", null, 1.0, 2]}]>>>


Compact encoding(壓縮編碼)

>>> import json>>> data = [1,2,3,{‘4‘: 5, ‘6‘: 7}]>>> print data[1, 2, 3, {‘4‘: 5, ‘6‘: 7}]>>> data_json = json.dumps(data)>>> print data_json[1, 2, 3, {"4": 5, "6": 7}]>>> data_json2 = json.dumps(data,sort_keys=True)>>> print data_json2[1, 2, 3, {"4": 5, "6": 7}]>>> data_json2 = json.dumps(data,sort_keys=True,separators=(‘,‘,‘:‘))>>> print data_json2[1,2,3,{"4":5,"6":7}]


參數 separators 將 , 和 : 後門的空格剔除掉了。 separators 的值必須是一個 tuple
協助中的英文注釋:
If specified, separators should be a (item_separator, key_separator) tuple. 

The default is (‘, ‘, ‘: ‘).  To get the most compact JSON
representation you should specify (‘,‘, ‘:‘) to eliminate whitespace.


Pretty printing(一種格式化輸出)

>>> data_json3 = json.dumps(data,sort_keys=True,indent=4,separators=(‘,‘,‘:‘))>>> print data_json3[    1,    2,    3,    {        "4":5,        "6":7    }]


indent 會讓每個索引值對顯示的時候,以縮排幾個字元對齊。以方便查看
協助中的英文注釋:
If indent is a non-negative integer, then JSON array elements and object members will be pretty-printed with that indent level.  An indent level of 0 will only insert newlines.None is the most compact representation.  Since the default item separator is ‘, ‘,  the output might include trailing whitespace when indent is specified.  You can use separators=(‘,‘, ‘: ‘) to avoid this.


josn 還原序列化 loads 執行個體:

>>> obj = [u‘foo‘, {u‘bar‘: [u‘baz‘, None, 1.0, 2]}]>>> str_json = ‘["foo", {"bar":["baz", null, 1.0, 2]}]‘>>> obj2 = json.loads(str_json)>>> print obj2[u‘foo‘, {u‘bar‘: [u‘baz‘, None, 1.0, 2]}]>>> obj2 == objTrue


大資料處理:
以上不論時序列化的dumps 和 還原序列化的loads 。所針對的資料都是一個json 字串 或者時 一個python 的資料結構。那麼當遇到了大量的json資料(如一個json 的設定檔)
或者 將一個python 的資料結構匯出成一個json 的設定檔。

#! /usr/bin/env python# _*_ encoding: utf-8 _*_import json# dump exampledata = [{‘lang‘:(‘python‘,‘java‘),‘school‘:"beijing"},"God"]f = open(‘test.json‘,‘w+‘)json.dump(data,f)f.flush()f.close()# load examplefd = file("test.json")js = json.load(fd)print js



奇淫巧計:

python 的 json 結合 shell 輸出

$ echo ‘{"json":"obj"}‘ | python -m json.tool  {       "json": "obj"  }


本文出自 “學習筆記” 部落格,請務必保留此出處http://unixman.blog.51cto.com/10163040/1649960

Python 中 的 json 模組

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.