python:dict轉為class

來源:互聯網
上載者:User

基於網路傳輸的時候大部分數字都轉成了字串(二進位除外),因為常常碰到把字串轉為類的需求,json序列化是一種比較常見的方法,因此,接收到的json字串怎麼反射回類呢?python當然沒有反射一說,我們通常會把字串先載入成json對象,這樣,它就成為了一個dict,然後http://stackoverflow.com/questions/1305532/convert-python-dict-to-object上提供了一個巧妙的方法讓dict直接變成class:

class Struct:    def __init__(self, **entries):         self.__dict__.update(entries)Then, you can use:>>> args = {'a': 1, 'b': 2}>>> s = Struct(**args)>>> s<__main__.Struct instance at 0x01D6A738>>>> s.a1>>> s.b2
當然,你要一個個地去改每個類的建構函式有點不現實,這提供了一個思路,我臨時new一個類執行個體出來,然後再update它的字典就可以得到對象了:
import jsonclass student(object):    name=""    age=Nonertnvalue=remoteMethod(params**) #此處得到格式化為json格式的字串parsed=json.loads(rtnvalue,"utf-8")st=student()st.__dict__.update(parsed)
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.