2016-10-08 11 views
-2

私は、2つの異なるソースからのデータを1つのJSONに結合してWebサービスで使用することが任されています。私は使い方が簡単だと分かったフラスコに行くことにしました。 とにかく、私は私がやろうとしていますすべては、「故障」の下に新しいキーペアを追加し、特に「TYPE3」、そうですPython2.7のJSONへの値の追加

[ 
    [{ 
     "timestamp": 1474088400000, 
     "errors": 1018831, 
     "errorTotal": 72400021, 
     "errorTotal2": 0.013022892930509898, 
     "business": 4814994, 
     "breakdown": [{ 
      "type": "type1", 
      "count": 603437 
     }, { 
      "type": "type2", 
      "count": 256187 
     }] 
    }] 
] 

....この(urlib2経由)のように見えるJSONを取得していますJSONオブジェクトは、次のようになります...

[ 
    [{ 
     "timestamp": 1474088400000, 
     "errors": 1018831, 
     "errorTotal": 72400021, 
     "errorTotal2": 0.013022892930509898, 
     "business": 4814994, 
     "breakdown": [{ 
      "type": "type1", 
      "count": 603437 
     }, { 
      "type": "type2", 
      "count": 256187 
     }, { 
      "type": "type3", 
      "count": 4533 
     }] 
    }] 
] 

は、私は、リスト内の鍵のペアのようにそれを処理することへの道を行くだろうと思ったが、それは動作していないようです。誰かが私を正しい方向に向けることができますか? 事前に感謝します!

+0

が見えJSON文字列に戻ってそれを変換する[0] [0] [ '内訳'] .append({"type": "type3"、 "count":4533}) ' – davedwards

答えて

1

まず、あなたは、PythonのオブジェクトにJSONをお読みください:

data = json.loads(jsonstring) 

その後、変更するオブジェクトを取得します。データは[ [ {... 'breakdown': ...} ] ]のように見えるので、辞書のリストです。その後

for d in data: 
    for dd in d: 
     d['breakdown'].append({"type": "type3", "count": 4533}) 

JSONに戻ってそれを変換します:オブジェクトとappend

json_data = json.loads(json_string) 
  • 反復

    update_json = json.dumps(data) 
    
  • 1
    1. ロードjson文字列私はあなたがそれらのすべてをしたいと思います"breakdown"キーへ

      for item in json_data: 
          for json_dict in item: 
           json_dict["breakdown"].append({"type": "type3", "count": 4533}) 
      
    2. D 'とpythonで、多分それに追加することができ、それはリストがありますように

      json_string = json.dumps(json_data) 
      
    関連する問題