Durchlaufen und drucken von JSON-Objekten in Python

Ich habe eine Google-Tabelle, die ich würde gerne in Python, dann verarbeiten Sie durch JSON. Es ist auf halbem Weg zu arbeiten, und nach der Suche durch Stackoverflow für mehrere Stunden, ich denke, es ist an der Zeit, eine Frage zu stellen.

Beispielsweise das format der JSON-Datei sieht wie folgt aus (von https://developers.google.com/gdata/docs/json).

{
  "version": "1.0",
  "encoding": "UTF-8",
  "feed": {
    "xmlns": "http://www.w3.org/2005/Atom",
    "xmlns$openSearch": "http://a9.com/-/spec/opensearchrss/1.0/",
    "xmlns$gd": "http://schemas.google.com/g/2005",
    "xmlns$gCal": "http://schemas.google.com/gCal/2005",
    "id": {"$t": "..."},
    "updated": {"$t": "2006-11-12T21:25:30.000Z"},
    "title": {
      "type": "text",
      "$t": "Google Developer Events"
    },
    "subtitle": {
      "type": "text",
      "$t": "The calendar contains information about upcoming developer 
       conferences at which Google will be speaking, along with other 
       developer-related events."
    },
    "link": [{
      "rel": "...",
      "type": "application/atom+xml",
      "href": "..."
      },{
      "rel": "self",
      "type": "application/atom+xml",
      "href": "..."
    }],
    "author": [{
      "name": {"$t": "Google Developer Calendar"},
      "email": {"$t": "[email protected]"}
    }],
    "generator":{
      "version": "1.0",
      "uri": "http://www.google.com/calendar",
      "$t": "Google Calendar"
    },
    "openSearch$startIndex": {"$t": "1"},
    "openSearch$itemsPerPage": {"$t": "25"},
    "gCal$timezone": {"value": "America/Los_Angeles"},

    "entry": [{
      "id": {"$t": "..."},
      "published": {"$t": "2006-11-12T21:25:30.000Z"},
      "updated": {"$t": "2006-11-12T21:25:30.000Z"},
      "category": [{
        "scheme": "...",
        "term": "..."
      }],
      "title":{
        "type": "text",
        "$t": "WebmasterWorld PubCon 2006: Google Developer Tools in General"
      },
      "content": {
        "type": "text",
        "$t": "Google is sponsoring at
          <a href=\"http://www.pubcon.com/\">WebmasterWorld PubCon 2006</a>.
          \n Come and visit us at the booth or join us for an evening demo
          reception where we will be talking \"5 ways to enhance your website
          with Google Code\". \n After all, \n it is Vegas, baby! See you soon."
      },
      "link": [{
        "rel": "alternate",
        "type": "text/html",
        "href": "...",
        "title": "alternate"
        },{
        "rel": "self",
        "type": "application/atom+xml",
        "href": "..."
      }],
      "author": [{
        "name": {"$t": "Google Developer Calendar"},
        "email": {"$t": "[email protected]"}
      }],
      "gd$transparency": {"value": "http://schemas.google.com/g/2005#event.opaque"},
      "gd$eventStatus": {"value": "http://schemas.google.com/g/2005#event.confirmed"},
      "gd$comments": {"gd$feedLink": {"href": "..."}},
      "gCal$sendEventNotifications": {"value": "true"},
      "gd$when": [{
        "startTime": "2006-11-15",
        "endTime": "2006-11-17",
        "gd$reminder": [{"minutes": "10"}]
      }],
      "gd$where": [{"valueString": "3150 Paradise Road,Las Vegas,NV 89109"}]},
    }]
  }
}

Mein Python-code ist wie folgt:

import requests, json
r = requests.get('link-to-google-spreadsheet-json')
j = r.json()

Testen die top-level-Hierarchie der JSON-Datei Ausgänge wie folgt:

>>> print j["version"]
1.0

Aber der Iteration über die Objekte, etwa so:

for feed in j["feed"]:
    for entry in feed["entry"]:
        for title in entry["title"]:
            print title["$t"]
        print
    print

Gibt mir die folgende Fehlermeldung:

Traceback (most recent call last):
File "<console>", line 2, in <module>
TypeError: string indices must be integers.

Klingt es wie es will, so drucken Sie einzelne Buchstaben aus dem string, vorausgesetzt ich gebe die index-Nummer. So wie ich das Parsen der JSON -, so dass es korrekt Ausgänge, was ich will (z.B. feed -> Eintrag -> Titel> $t)?

Ich habe schon gepostet, das format der JSON-Datei mit den Google-Beispiel, damit Sie sehen können, was ich versuche zu tun, um den Wert von $t in feed -> Eintrag -> Titel> $t.
Ich völlig ignoriert, dass >_> habe ich gelöscht meine vorherigen Kommentare.

InformationsquelleAutor AAA | 2012-12-30

Schreibe einen Kommentar