導航:首頁 > 編程語言 > python將對象轉json

python將對象轉json

發布時間:2023-06-27 15:08:04

python json怎麼修改json數據

Json簡介:Json,全名 JavaScript Object Notation,是一種輕量級的數據交換格式。Json最廣泛的應用是作為AJAX中web伺服器和客戶端的通訊的數據格式。現在也常用於http請求中,所以對json的各種學習,是自然而然的事情。Python的官網網址:https://docs.python.org/2/library/json.html?highlight=json#mole-json

Json API 使用:python在版本2.6之前,是需要先下載包,安裝後才能使用的,有點類似現在的RF內使用SeleniumLibrary一樣。但是在2.6中,官方文檔(https://docs.python.org/2.6/whatsnew/2.6.html)明顯指出,「有一些重要的新的軟體包添加到了標准庫,比如multiprocessing 和json,但是跟python 3比,2.6的這些包不會引進更多的新功能。"於是安裝python2.6以上版本的童鞋,可以不需要下載json包,直接在所需的地方就import json 即可使用,在安裝目錄下的Lib 下,看到這兩個包(點進去仔細閱讀這些源碼,會有更多的收獲,)如下文所示:

㈡ 如何把python裡面的list變成json對象

import json
file = open("your_file_name.txt", 'a') # 追加的方式寫入
your_dict = {}
your_dict['a'] = 0.123
your_dict['b'] = [1.1, 1.2, 1.3, 1.4, 1.5]
your_dict['c'] = 0.2
json_str = json.mps(your_dict, ensure_ascii=False) # 將字典裝化為json串
# ensure_ascii=False : 不用ascii,如果有中文的話,沒有就無所謂了
file.write(json_str+'\n')
拿去 不謝~
--------------------------------------------------------------------------------
輸出結果如下:
{"a": 0.123, "c": 0.2, "b": [1.1, 1.2, 1.3, 1.4, 1.5]}
--------------------------------------------------------------------------------------
就是不知道為什麼c在中間(0.0)

㈢ python怎麼把list of objects轉換成json

json包的mps方法可以將python中的對象轉換為json格式

importjson
x=['a',{'c':'d'},1]
json.mps(x)

其中indent參數可以設置縮進值

json.mps(x,indent=4)

㈣ python httplib response 對象怎麼轉成json

json包的mps方法可以將python中的對象轉換為json格脊瞎式 import jsonx = ['a',{'賣喚c':'d'},1]json.mps(x)其中indent參數可以設櫻配空置縮進值 json.mps(x, indent=4)

㈤ python 字元串轉 json

python字元串轉json對象,需要使用json模塊的loads函數,如下所示:
>>> import json
>>> s = '{"skey":"val","ikey":10}'
>>> jo = json.loads(s)
>>> jo
{'ikey': 10, 'skey': 'val'}
>>> jo['ikey']
10
>>> jo['skey']
'val'

json.loads介紹:
json.loads(s, encoding=None, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)
Deserialize s (a str instance containing a JSON document) to a Python object using this conversion table.
The other arguments have the same meaning as in load(), except encoding which is ignored and deprecated.
If the data being deserialized is not a valid JSON document, a JSONDecodeError will be raised.

㈥ 【Python】淺談python中的json

一 前言  

   最近一直在做開發相關的工作--基於Django的web 平台,其中需要從model層傳輸數據到view 層做數據展示或者做業務邏輯處理。我們採用通用的Json格式--Json(JavaScript Object Notation) 是一種輕量級的數據交換格式,易於閱讀和程序解析。

二 認識Json

   2.1 Json 結構

   常見的Json格式為 「名稱/值」對的集合,其中 值可以是對象,列表,字典,字元串等等。比如

backup_data = {"back_to_host": "dbbk0",

"ip_address": "10.10.20.3",

"host_name": "rac4",

"port": 3306}

  2.2 使用Json

  Python的Json模塊序列化與反序列化的過程分別是 編碼和解碼。這兩個過程涉及到兩組不同的函數

  編碼 把一個Python對象編碼轉換成Json字元串,json.mps(data)/json.mp(data,file_handler)

  解碼 把Json格式字元串解碼轉換成Python對象,json.loads(data)/json.load(file_handler)

  在python中要使用Json模塊做相關操作,必須先導入:

import Json

  2.3 主要函數

  編碼函數主要有 json.mps(data)/json.mp(data,file_handler)

   json.mps()的參數是將python對象轉換為字元串,如使用json.mps序列化的對象json_mps=json.mps({'a':1, 'b':2}) ,json_mps='{"b": 2, "a": 1}'

   json.mp 是將內置類型序列化為json對象後寫入文件。

 解碼函數主要由json.loads(data)/json.load(file_handler)  

    json.loads的參數是內存對象,把Json格式字元串解碼轉換成Python對象,json_loads=json.loads(d_json)  #{ b": 2, "a": 1},使用load重新反序列化為dict

    json.load()的參數針對文件句柄,比如本地有一個文件/tmp/test.json  json_load=json.load(open('/tmp/test.json'))

具體案例參考如下:

In [3]: data={"back_to_host": "rac1",

...: "ip_address": "10.215.20.3",

...: "host_name": "rac3",

...: "port": 3306}

In [7]: json_str=json.mps(data)

In [8]: print json_str

{"ip_address": "10.215.20.3", "back_to_host": "rac1", "host_name": "rac3", "port": 3306}

In [9]: json_loads=json.load(json_str)

---------------------------------------------------------------------------

AttributeError Traceback (most recent call last)

<ipython-input-9-180506f16431> in <mole>()

----> 1 json_loads=json.load(json_str)

/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.pyc in load(fp, encoding, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw)

284

285 ""

注意 從上面的報錯信息來看 json.loads 傳參是字元串類型,並不是文件句柄,沒有 read()屬性。

In [10]: json_loads=json.loads(json_str)

In [11]: print json_loads

{u'back_to_host': u'rac1', u'ip_address': u'10.215.20.3', u'host_name': u'rac3', u'port': 3306}

In [12]: type(json_loads)

Out[12]: dict

In [13]: type(json_str)

Out[13]: str

利用mp 將數據寫入 mp.json

In [17]: with open('/tmp/mp.json','w') as f:

...: json.mp(json_str,f)

...:

yangyiDBA:~ yangyi$ cat /tmp/mp.json

"{\"ip_address\": \"10.10.20.3\", \"back_to_host\": \"rac1\", \"host_name\": \"rac3\", \"port\": 3306}"

yangyiDBA:~ yangyi$

利用json.load 將mp.sjon的數據讀出來並賦值給 data 

In [18]: with open('/tmp/mp.json','r') as f:

...: data=json.load(f)

...:

In [19]: print data

{"ip_address": "10.10.20.3", "back_to_host": "rac1", "host_name": "rac3", "port": 3306}

三 小結

  本文算是一篇學習筆記,主要對比了json.loads/json.load  , json.mps/ json.mp 的使用差異 ,方便以後更好的使用json 。

以上為本次分享內容,感謝觀看。

㈦ Python類型可以轉為JSON的number類型

python數據類型轉化為JSON格式的數據有兩種方式。
第一種方式是,mps(dict1)是將python數據類型轉化為JSON類型的字元串string,mp(dict1,sp)將python數據類型轉化為文件流,sp表示寫入文件的路徑。第二種方式是通過mps轉化成字元串,然後再寫入。
JSON格式的數據也可以轉化為python數據類型。loads(str)將JSON字元串轉化成python類型的數據,在使用loads操作字元串load(str,fp)將後綴為json文件轉化成python格式的數據,load操作文件流。因為文件讀寫操作時有可能產生IOError,一旦出錯,後面的close方法就不能執行到,為了保證是否出錯都能關閉文件,使用withopen文件操作流。

㈧ 如何用python把protobuf轉化json

直接利用python提供的json包,在django model的定義中增加一個方法toJSON,利用django model 能訪問 _meta.fields 得到相關屬性而得到,例子如下:
class Category(models.Model):
autoid = models.AutoField(primary_key=True)
email=models.CharField(max_length=150,blank=False)
comtype=models.CharField(max_length=20,blank=False)
catname=models.CharField(max_length=150,blank=False)

def __unicode__(self):
return '%s' % (self.catname)

def toJSON(self):
import json
return json.mps(dict([(attr, getattr(self, attr)) for attr in [f.name for f in self._meta.fields]]))
然後用django查出數據,並轉換成json,代碼如下:
row=models.Category.objects.get(autoid=23)
print row.toJSON()

閱讀全文

與python將對象轉json相關的資料

熱點內容
貸款申請系統源碼 瀏覽:266
windowsxp文件夾打開後怎麼返回 瀏覽:662
怎麼把pdf變成圖片 瀏覽:795
17年程序員事件 瀏覽:494
iishttp壓縮 瀏覽:29
公司文件加密後拷走能打開嗎 瀏覽:186
headfirstjava中文 瀏覽:894
騰訊雲伺服器怎麼放在電腦桌面 瀏覽:8
批量生成圖片的app哪個好 瀏覽:496
小米10電池校準命令 瀏覽:96
移動商城系統app如何開發 瀏覽:692
用安卓手機如何發高清短視頻 瀏覽:339
怎樣運行java程序運行 瀏覽:553
海南根伺服器鏡像雲伺服器 瀏覽:536
weka聚類演算法 瀏覽:452
視頻伺服器修復是什麼意思 瀏覽:498
python跨平台開發 瀏覽:916
音遇app全民k歌從哪裡下載 瀏覽:646
雲盒子能裝伺服器嗎 瀏覽:796
林漢達pdf 瀏覽:45