でネストすることができ、キーのためのJSONファイル内の値を置き換えます。新しいで、V:私は「DOWNLOAD_URL」Kを置き換えるのpythonのビットを書いた は、私はこのようになりますJSONを持つn個のレベル
{
"ROLE_NAME": {
"FOO": {
"download_url": "http: //something.staging/12345/buzz.zip"
},
"BAR": {
"download_url": "http: //something.staging/12345/fizz.zip"
},
"download_url": "http: //something.staging/12345/fizzbuzz.zip",
"db_name": "somedb",
"db_server": "dbserver.staging.dmz",
"plugin": {
"server_url": "http: //lab.staging.corp/server/"
}
}
}
値(つまり、新しいdownload_url)。残念ながら、そのjsonスニペット内の3つのdownload_urlsのうちの1つを置き換えます。私は理由を理解していますが、解決策を得るのが少し難しいので、私はここで助けを求めています。
全体JSONオブジェクトは、「データ」 は、だから私はこのような何かをしている:
DOWNLOAD_URLは私が行うために必要なもの、その変数 に割り当てた新しい値がdata["ROLE_NAME"]["download_url"] = download_url
と呼ばれる任意のキーのためであります["download_url"]その後、私が行くレイヤーで指定したものではなく、それを更新します。
助けるために私のコードの一部:
私は、以前の私のコードで取得したいくつかの値を取り、レスポンスを返すURLを構築します。私はDOWNLOAD_URLの値を構築するために使用される応答から値を抽出
buildinfo_url = "http://something.staging/guestAuth/app/rest/builds/?locator=buildType:%s,tags:%s,branch:branched:any" % (
bt_number,
list_json_load[role_name][0]['tag']
)
送信HTTPリクエスト
client = httplib2.Http()
response, xml = client.request(buildinfo_url)
応答XMLからいくつかの値を抽出し、変数
doc = ElementTree.fromstring(xml)
for id in doc.findall('build'):
build_id = "%s" % (id.attrib['id'])
try:
download_url = "http://something.staging/guestAuth/repository/download/%s/%s:id/%s" % (
bt_number,
build_id,
build_artifact_zip
)
data[role_name]["download_url"] = download_url
except NameError:
print "something"
DOWNLOAD_URL設定
再帰的に検索して更新する必要があると思います。
我々は何が起こっているかを見ることができるようにあなたのコードを含めるために、質問を編集してください。 :) – Talvalin
これはこれでしたか?http://stackoverflow.com/questions/14048948/how-can-i-use-python-finding-particular-json-value-by-key? –
はい、私はちょうどそれを再度見つけようとしていましたhttp://stackoverflow.com/questions/14048948/how-can-i-use-python-finding-particular-json-value-by-key - 私はこれができると思います私を助けるために使用される – RussellJSmith