2017-03-09 5 views
0

私は以下のようにjsonを持っています。キーの「アクティビティ」に角括弧の一部を追加したかっただけです。しかし、このPythonコーディングには新しいので、Pythonを使用してJSONの特定のコンポーネントの角括弧を挿入する方法はありません。jsonでPythonを使って角括弧を追加する

{ 
    "name": "CopyPipeline-rdc", 
    "properties": { 
     "end": "2017-02-14T00:00:00Z", 
     "start": "2017-02-14T00:00:00Z", 
     "activities": { 
      "name": "CopyActivity-0", 
      "type": "Copy", 
      "input": { 
       "name": "InputDataset-rdc" 
      }, 
      "output": { 
       "name": "OutputDataset-rdc" 
      }, 
      "policy": { 
       "retry": 0, 
       "timeout": "00:00:00", 
       "concurrency": 1, 
       "executionpriorityorder": "OldestFirst" 
      }, 
      "scheduler": { 
       "style": "StartOfInterval", 
       "interval": "1", 
       "frequency": "Day" 
      }, 
      "typeproperties": { 
       "source": { 
        "type": "BlobSource", 
        "recursive": false 
       }, 
       "sink": { 
        "type": "BlobSink", 
        "writeBatchSize": 0, 
        "writeBatchTimeout": "00:00:00" 
       } 
      } 
     }, 
     "expiration": "15.00:00:00", 
     "description": "''", 
     "pipelinemode": "OneTime" 
     } 
    } 
+2

あなたがこれまでに試してみましたか? –

+0

これは大失敗かどうかわかりません。 'データ=のjson.loads(query_result)データにおける活性について [ '名前']:リスト内のキーの \t(response.keys()): \t \t活性[キー] =名[キー]' – Arjun

答えて

2

JSON出力の一部に大括弧を単に追加することはできません。角括弧は、配列、リスト、または他の列挙可能な一連のオブジェクトを示すために使用されます。

あなたがリクエストしているようなものを実現するには、activitiesのプロパティ(または辞書エントリ)をリスト、タプルまたはその他の適切なシーケンスタイプに変更する必要があります。

サンプルコード:

>>> import json 
>>> obj = {"activities": [{"name": "CopyActivity-0", 
...      "type": "Copy", 
...      "input": {"name": "InputDataset-rdc"} 
...      }] # note that we used [] to create an array 
...  } 
>>> print json.dumps(obj, indent=2) 
{ 
    "activities": [ 
    { 
     "input": { 
     "name": "InputDataset-rdc" 
     }, 
     "type": "Copy", 
     "name": "CopyActivity-0" 
    } 
    ] 
} 
+0

これをまさに私が探していたものです。しかし、この活動の一部をどうやって取り出すのですか?あなたが気にしないなら、jsonのインデントとダンプモジュールの重要性を助けてくれますか? – Arjun

+0

これは、Nils Wernerが[あなたの質問へのコメント](http://stackoverflow.com/posts/comments/72507085)で尋ねたのと同じ質問をするポイントです:_ "これまで何を試しましたか?"データの入手方法に関する情報は提供していません。これまであなたがしてきたことについては説明していません。これらの2つの組み合わせは、あなたが持っている理論に基づいてポインタを与えることを除いて、誰でもあなたを助けることは事実上不可能です。 –

+0

実際に私はデータをフェッチし、JSON_OBJECTとJSON_ARRAYを使ってjsonファイルとして構築するためにクエリを使用しました。クエリが長すぎるため、貼り付けできません。他の方法で私はここにクエリを表示することができます。 cursor.execute(クエリ、{ 'objectNameの':objectNameの、 'のDataFactory':のDataFactory}) ] query_result = cursor.fetchall() query_result = ast.literal_eval(json.dumpsクエリ結果がフェッチされた後 – Arjun

関連する問題