2017-05-05 5 views
0

取得:キー解析:値のスタイルファイルを、私はのように見えるテキストファイル持っている値

{ 

    "content": 
    [ 
    { 
     "id": "myid1", 
     "path": "/x/y" 
    }, 
    { 
     "id": "myid2", 
     "path": "https://stackoverflow.com/a/b" 
    } 
    ] 
} 

、私は 「パスを渡したときに、「ID」に対応する値を取得する方法はあります"私の方法の価値?例えば私が/ a/bを渡すとき、私は に "myid2"を返すべきです。私は辞書を作るべきですか?

答えて

0

あなたがしようとしていることをやり遂げるためのより簡単な方法があるかもしれないと思ったら、実際に行う必要があることを簡単に説明してください。

私が正しく質問を理解していれば、あなたは、このような「/ X/Y」として値を渡すことで、IDを検索したい場合は、なぜ

{ 

    "content": 
    { 
     "/x/y": "myid1" 
    }, 
    ...(more of the same) 
} 

として辞書を構築ませんこれは、あなたに直接アクセスを与えるだろうそれ以外の場合は配列を反復処理する必要があります。

+0

正しいですが、私は、私はパスと同じになります文字列を渡しますhttps://gist.github.com/anonymous/764bef476511ff532802d0097e6f8994ファイルを持っています。私はそのパスに対応するidの値を返します – pgokhale

0

これはJSONと非常によく似ているので、jsonモジュールを使用してファイルを解析できます。次に、"contents"リストの辞書を繰り返し、一致する"path"のものを取得します。

import json 
with open("data.json") as f: 
    data = json.load(f) 
    print(data) 

    path = "https://stackoverflow.com/a/b" 
    for d in data["content"]: 
     if d["path"] == path: 
      print(d["id"]) 

出力:

{'content': [{'path': '/x/y', 'id': 'myid1'}, {'path': '/a/b', 'id': 'myid2'}]} 
myid2 
関連する問題