搜索

首页  >  问答  >  正文

如何使用python提取json中指定字段的数据?

现在有一个json数据,
如下:

{
   "favourite":{
      "bkmrk":{
         "id1490843709594066":{
            "guid":"904eff52277f403b89f6410fe2758646.11",
            "lcate":"1"
         },
         "id1490843712805183":{
            "guid":"58457f60eca64025bc43a978f9c98345.16",
            "lcate":"2"
         },
         "id149084371467327":{
            "guid":"a0f907f9dc8b40f689b083f3eba7228b.16",
            "lcate":"3"
         },
         "id1490843716295393":{
            "guid":"eb75d929455e468bb712e7bc2025d11a.16",
            "lcate":"4"
         }
      }
   }
}

我该如何使用python操作该json,才能输出所有的guid和lcate有序对,即以下形式:

1;904eff52277f403b89f6410fe2758646.11
2;58457f60eca64025bc43a978f9c98345.16
3;a0f907f9dc8b40f689b083f3eba7228b.16
4;eb75d929455e468bb712e7bc2025d11a.16

非常感谢。

黄舟黄舟2785 天前859

全部回复(2)我来回复

  • PHP中文网

    PHP中文网2017-04-18 10:32:12

    json_dict = json.loads(json_str)
    
    for item in json_dict['favourite']['bkmrk']:
        guid = json_dict['favourite']['bkmrk'][item]['guid']
        lcate = json_dict['favourite']['bkmrk'][item]['lcate']
        print '%s:%s' % (lcate,guid)
    

    反正都是字典,不要想那么多

    回复
    0
  • 怪我咯

    怪我咯2017-04-18 10:32:12

    使用json包中的json.loads将该字符串转换为Python字典。 代码如下:

    import json
    
    json_data = """{
       "favourite":{
          "bkmrk":{
             "id1490843709594066":{
                "guid":"904eff52277f403b89f6410fe2758646.11",
                "lcate":"1"
             },
             "id1490843712805183":{
                "guid":"58457f60eca64025bc43a978f9c98345.16",
                "lcate":"2"
             },
             "id149084371467327":{
                "guid":"a0f907f9dc8b40f689b083f3eba7228b.16",
                "lcate":"3"
             },
             "id1490843716295393":{
                "guid":"eb75d929455e468bb712e7bc2025d11a.16",
                "lcate":"4"
             }
          }
       }
    }"""
    
    data = json.loads(json_data)
    for v in data['favourite']['bkmrk'].values():
        print("%s;%s" % (v['lcate'],  v['guid']))

    回复
    0
  • 取消回复