2016-04-01 4 views
1

一部のストレージデバイスでRESTサービスに接続するいくつかの自動化を開発しています。 RESTサービスは、Pythonでうまく動作するJSON形式のデータを返します。REST呼び出しからJSONオブジェクトを取得してクラスを生成する方法

私は自分自身でRESTクエリを実行し、クラス変数に割り当てます(ここでは単純化)以下のクラスを持っている:

class myclass(object): 
    def __init__(self, client): 
     # my rest code <SNIPPED> 
     self.data = myresults.data() # data is now a dictionary with my rest results 

     # I now want to break data{} down into individual self.XXXX variables 
     self.var1  = self.data['var1'] 
     self.var2  = self.data['var2'] 

は次のようにそれを「ブルートフォース攻撃」せずにこれを行うにトリックがあります上記の私の例?この辞書にはかなりの数のキーが含まれています。大部分は数値型で計算に関与し、dict表記法を使用して本当に厄介なものになります。

また、私がやろうとしているよりも優れたアプローチがありますか?このようにそれを行うことは本当に私が達成したいものを解決していません:あなたはクラスのインスタンスでsetattrを使用することができます

self.data{} = None 
self.data = myresults.data() 

答えて

1

for (key, value) in self.data: 
    setattr(self, key, value) 
+0

私は実際に私が探していたものを見つけて、今のwannaは早くこれを見つけていないため、繰り返し自分自身を蹴ります。 (self .__ dict__ = self.rawdata)しかし、あなたが提供するものは他の場所でも役に立ちますので、私はあなたの答えを受け入れます!どうも! – BenH

関連する問題