tarafından iç içe olabilir anahtar için JSON dosyasındaki değeri değiştirin: Yeni ile v: Ben bir "DOWNLOAD_URL" k değiştirir pitonun biraz yazdığı Şöyle JSON sahip n düzeylerinin
{
"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/"
}
}
}
değer (yani yeni download_url). Maalesef bu json snippet'inde sadece üç download_urls'den birini değiştirir. Neden olduğunu anlıyorum, ama çözümü almakta biraz zorlanıyorum ve bu yüzden burada yardım istiyorum.
tüm json nesnesi "veri" Yani böyle bir şey yapmak geçerli:
DOWNLOAD_URL Yapmam gereken şey değişkene atadığınız yeni değerdirdata["ROLE_NAME"]["download_url"] = download_url
denilen herhangi bir anahtarının olduğunu ["download_url"] daha sonra gideceğim katmanda belirttiğim yerine onu günceller. Benim kodunda daha önce elde edilen bazı değerler alan
ve bir yanıt döndüren bir url oluşturmak:
benim kod bazıları yardımcı olmak. Ben DOWNLOAD_URL değerini oluşturmak için kullanılacak yanıtından bir değer elde
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']
)
Gönder HTTP isteği
client = httplib2.Http()
response, xml = client.request(buildinfo_url)
tepki xml bazı değer Özü ve değişken
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 set
Yinelemeli olarak arama ve güncelleme yapmalıyım
biz ne olup bittiğini görebilirsiniz böylece kod eklemek için soruyu düzenleyin. :) – Talvalin
Bu bir miydi: http://stackoverflow.com/questions/14048948/how-can-i-use-python-finding-particular-json-value-by-key? –
Evet, sadece tekrar bulmaya çalışıyordum http://stackoverflow.com/questions/14048948/how-can-i-use-python-finding-particular-json-value-by-key - Sanırım bu bana yardımcı olmak için kullanılabilir – RussellJSmith