Note that there are some explanatory texts on larger screens.

plurals
  1. POhow to extract data from json
    primarykey
    data
    text
    <p>i want to extract particular values from the json object mentioned below.but it is giving some error</p> <pre><code> &gt;&gt;&gt; print json { "response_code": 1, "verbose_msg": "Scan finished, scan information embedded in this object", "resource": "99017f6eebbac24f351415dd410d522d", "scan_id": "52d3df0ed60c46f336c131bf2ca454f73bafdc4b04dfa2aea80746f5ba9e6d1c-1273894724", "md5": "99017f6eebbac24f351415dd410d522d", "sha1": "4d1740485713a2ab3a4f5822a01f645fe8387f92", "sha256": "52d3df0ed60c46f336c131bf2ca454f73bafdc4b04dfa2aea80746f5ba9e6d1c", "scan_date": "2010-05-15 03:38:44", "positives": 40, "total": 40, "scans": {"nProtect": {"detected": true, "version": "2010-05-14.01", "result": "Trojan.Generic.3611249", "update": "20100514"}, "CAT-QuickHeal": {"detected": true, "version": "10.00", "result": "Trojan.VB.acgy", "update": "20100514"}, "McAfee": {"detected": true, "version": "5.400.0.1158", "result": "Generic.dx!rkx", "update": "20100515"}, "TheHacker": {"detected": true, "version": "6.5.2.0.280", "result": "Trojan/VB.gen", "update": "20100514"}, "VirusBuster": {"detected": true, "version": "5.0.27.0", "result": "Trojan.VB.JFDE", "update": "20100514"}, "NOD32": {"detected": true, "version": "5115", "result": "a variant of Win32/Qhost.NTY", "update": "20100514"}, "F-Prot": {"detected": false, "version": "4.5.1.85", "result": null, "update": "20100514"}, "Symantec": {"detected": true, "version": "20101.1.0.89", "result": "permalink": "https://www.virustotal.com/file/52d3df0ed60c46f336c131bf2ca454f73bafdc4b04dfa2aea80746f5ba9e6d1c/analysis/1273894724/" </code></pre> <p>and so on.... }</p> <p>to achieve above i have written following code:</p> <pre><code> data = json.loads(json_post) response_dict = simplejson.loads(json_post) logging.info(response_dict) if response_dict['response_code'] == 0: self.response.out.write("11") elif response_dict['response_code'] == -2: self.response.out.write("API Request Rate Limit Exceeded&lt;br/&gt;") elif response_dict['response_code'] == -1: self.response.out.write("API Key provided is wrong&lt;br/&gt;") elif response_dict['response_code'] == 1: link.req_timestamp = response_dict['scans'][0] Fire_fox=response_dict.get("scans")[1].get("Firefox") if Fire_fox: link.firefox = data['scans'][1]['Firefox'] Trend_Micro=response_dict.get("scans")[1].get("TrendMicro") if Trend_Micro: link.trendmicro = data['scans'][1]['TrendMicro'] Phishtank=response_dict.get("scans")[1].get("Phishtank") if Phishtank: link.phishtank = data['scans'][1]['Phishtank'] </code></pre> <p>the error is KeyError: 'scans'.. plz tell me where i am going wrong</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload