2017-07-15 12 views
1

したがって、多くの辞書値とキーを持つjsonファイルを解析しています。私は、別の辞書内に新しい辞書のキー値を作成し、古い辞書のすべての内容を新しい辞書に入れたいと思っています。ここで古い辞書キーの前の値で別の辞書内の辞書キーを作成する方法

は、元のJSONファイルは、次のようになります。ここでは

{"runContext": {"isAdmin": "false", "isSimulated":false, "customerId": "132", "acId": "1445017", "id":"magtest1"}} 

は、変更JSONファイルがどうあるべきかです:

{"context": {"user":{"id":"magtest1", "isSimulated":false, "customerId":"132", "isAdmin":false "acID": "1445017}}} 

私はコンテキストにrunContextの名前を変更しなければならなかったし、その後、その後、私は本質的にユーザーと呼ばれる新しいオブジェクトを作成し、以前のすべてのコンテンツをコンテキストで保存し、新しいオブジェクトユーザー内に格納する必要があります。私はここで、ユーザ

と呼ばれるしかし、私はトラブル文脈から内容を取っを持って、新しいオブジェクトに入れていますそのパス名を使用して、元のJSONファイルを開封しております、私が書いたスクリプトです:

def jsonparse(): 
    user_path= input("Please enter path name:") 
    with open(user_path) as f: 
     x = f.read() 
    jObject = json.loads(x) 
    context = jObject['runContext'] 
    jObject['context']= jObject.pop('runContext') 
    jObject['context']['user'] = {} 
    jObject['context']['user'] = context 

    print jObject 

if __name__ == '__main__': 
    jsonparse() 

私の問題があります私はJSONへの新たなんだので、私はそれをプリントアウトしようとすると、それはこの

{"context":{user:{...} 

のように見えるそれは、この上の出力アウトユーザー ための任意の値をすべてのヘルプは高く評価されていません。ありがとう!

+0

ここで 'context'は定義されていますか? – frozen

答えて

0

contextは定義されていません。それは次のようになります。あなたはjObject['context']jObject['context']['user']に必要な辞書を持っていたjObject['context']= jObject.pop('runContext')の前に

def jsonparse(): 
    user_path= input("Please enter path name:") 
    with open(user_path) as f: 
     x = f.read() 
    jObject = json.loads(x) 
    context = jObject.pop('runContext') 
    jObject['context'] = {} 
    jObject['context']['user'] = context 

    print jObject 

if __name__ == '__main__': 
    jsonparse() 

context = jObject.pop('runContext') 
jObject['context']['user'] = {} 
jObject['context']['user'] = context 
+0

投稿を編集しました。 context = jObject ['runContext']。それでも、すべてのキーと値をユーザーに渡すわけではありません。 –

0

はこれを行います。 は今context = jObject.pop('runContext')jObjectは空になります({})、その後、あなたは、キーjObject['context'] = {}とコンテキストに役立ちますjObject['context']['user'] = context

希望が追加されます。

関連する問題