python arbeider med onedrive api

stemmer
1

Jeg ønsker å skrive et enkelt skript for å laste noen filer fra min onedrive.

Så langt har jeg klart å autentisere og jeg kan få tilgang til filene mine. men nå ønsker jeg å lære python å dekode de json som jeg får fra onedrive. Jeg kan bare ikke få python å gi meg tilbake navnet og koblingen fra json.

Adressen og navnet er under tasten value og heter: name og @content.downloadUrl Jeg trenger bare disse to verdiene 2 ganger (som det er to filer jeg trenger å laste ned)

import json
from urllib.request import urlopen
import codecs

json_raw = urlopen('https://api.onedrive.com/v1.0/drive/root:/aFolderInOneDrive:/children?access_token=EwBwAq.....5uqp18B').read().decode('utf8')

json_dict = json.loads(json_raw)

print(json_dict)

print(json_dict[value][name]) #my last try

her er tilbakesporings

Traceback (most recent call last):
  File getKeepass.py, line 10, in <module>
    print(json_dict[value][name])
TypeError: list indices must be integers, not str

Jeg vet at jeg sannsynligvis må iterere over JSON, jeg prøvde det:

for i in json_dict:
    print(i['name'])

men jeg får den samme feilen da.

Publisert på 10/09/2015 klokken 11:50
bruker
På andre språk...                            


1 svar

stemmer
0

I ditt tilfelle json_dict ins't virkelig en ordbok, er det en liste over barn.

Bare iterere over listen eller få et barn ved Indeks:

for child in children:
    print(child["value"]["name"])

print(json_dict[0]["value"]["name"])
Svarte 10/09/2015 kl. 12:59
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more