द्वारा नेस्ट किया जा सकता है कुंजी के लिए JSON फ़ाइल में बदलें मान मैं 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" कश्मीर की जगह लिखा है: एक नया के साथ वी मान (यानी नया download_url)। दुर्भाग्यवश यह उस जेसन स्निपेट में केवल तीन download_urls में से एक को प्रतिस्थापित करता है। मैं समझता हूं क्यों, लेकिन समाधान प्राप्त करने में थोड़ी सी कठिनाई हो रही है, और इसलिए मैं यहां मदद मांग रहा हूं।
पूरे json वस्तु है "डाटा" तो मैं इस तरह कुछ करना:
data["ROLE_NAME"]["download_url"] = download_url
कहाँ DOWNLOAD_URL एक नया मान रहा है कि चर मैं क्या करने की जरूरत करने के लिए सौंपा गया है कहा जाता है किसी भी कुंजी के लिए है ["download_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)
प्रतिक्रिया एक्सएमएल से कुछ मूल्य निकालें और DOWNLOAD_URL चर
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"
सेट
मुझे लगता है कि मुझे रिकर्सली खोज और अद्यतन करना चाहिए
ताकि हम देख सकते हैं कि क्या हो रहा है अपने कोड को शामिल करने के सवाल संपादित करें। :) – 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