2014-02-13 62 views
1

我有下面的示例JSON条目的JSON文件:Python的。获得嵌套的JSON值

{ 
      "title": "Test prod", 
      "leafPage": true, 
      "type": "product", 
      "product": { 
       "title": "test product", 
       "offerPrice": "$19.95", 
       "offerPriceDetails": { 
        "amount": 19.95, 
        "text": "$19.95", 
        "symbol": "$" 
       }, 
       "media": [ 
        { 
         "link": "http://www.test.com/cool.jpg", 
         "primary": true, 
         "type": "image", 
         "xpath": "/html[1]/body[1]/div[1]/div[3]/div[2]/div[1]/div[1]/div[1]/div[1]/a[1]/img[1]" 
        } 
       ], 
       "availability": true 
      }, 
      "human_language": "en", 
      "url": "http://www.test.com" 
     } 

我可以通过Python脚本张贴此对我的测试服务器完美,当我使用:

     "text": entry.get("title"), 
        "url": entry.get("url"), 
        "type": entry.get("type"), 

但是我不能让下面的嵌套项上传的价值观,我该如何构建蟒蛇JSON调用get嵌套蟒蛇JSON入门?

我用尽下面没有成功,我需要把它作为不用彷徨,因为有不同的领域目前在JSON文件,并出现了错误,而不不用彷徨电话。

    "Amount": entry.get("product"("offerPrice")) 

任何有关如何构建嵌套json条目的帮助将非常感谢。

回答

5

你需要做的:

"Amount": entry.get("product", {}).get("offerPrice") 

entry.get("product", {})返回一个产品字典(或一个空的字典如果没有product键)。

+0

十分感谢,多数民众赞成的工作!因此要获得的产品{媒体,我可以用一个嵌套的对象:entry.get( “产品”,{})获得( “媒体”,{})获得( “链接”)。? – user1461716

+0

由于媒体是然后列表:entry.get( “产品”,{})获得( “媒体”,[{}])[0]获得( “链接”) –