Analisando array Json de tamanho muilti para Python

Eu estou em cima da minha cabeça, tentando analisar JSON pela primeira vez e lidar com uma matriz multidimensional.

{
  "secret": "[Hidden]",
  "minutes": 20,
  "link": "http:\/\/www.1.com",
  "bookmark_collection": {
    "free_link": {
      "name": "#free_link#",
      "bookmarks": [
        {
          "name": "1",
          "link": "http:\/\/www.1.com"
        },
        {
          "name": "2",
          "link": "http:\/\/2.dk"
        },
        {
          "name": "3",
          "link": "http:\/\/www.3.in"
        }
      ]
    },
    "boarding_pass": {
      "name": "Boarding Pass",
      "bookmarks": [
        {
          "name": "1",
          "link": "http:\/\/www.1.com\/"
        },
        {
          "name": "2",
          "link": "http:\/\/www.2.com\/"
        },
        {
          "name": "3",
          "link": "http:\/\/www.3.hk"
        }
      ]
    },
    "sublinks": {
      "name": "sublinks",
      "link": [
        "http:\/\/www.1.com",
        "http:\/\/www.2.com",
        "http:\/\/www.3.com"
      ]
    }
  }
}

Isso é dividido em 3 partes, os dados estáticos na minha primeira dimensão (segredo, minutos, link) que eu preciso para obter como seqüências separadas.

Então eu preciso de um dicionário por "coleção de favoritos", que não tem nomes fixos, então eu preciso do nome deles e dos links / nomes de cada marcador.

Depois, há os sublinks separados, que são sempre os mesmos, onde eu preciso de todos os links em um dicionário separado.

Estou lendo sobre a análise de JSON, mas a maioria das coisas que eu encontro é um array simples colocado em um dicionário. Alguém tem alguma técnica boa para fazer isso?