Bearbeiten von bereits Vorhandenen JSON in Python
Ich ziehe in einigen JSON von einem server im angegebenen format:
{"images": [{"rating": 5.0, "thumburl": "http://something.jpg", "description": "dfgd", "submitdate": "2011-01-29T07:54:02", "submituser": "J", "imagekey": "a"}, ...]}
Habe ich um ein neues element hinzuzufügen "viewurl", um jedes element mit der "imagekey." Zum Beispiel, das Ergebnis wäre
{"images": [{"rating": 5.0, "thumburl": "http://something.jpg", "description": "dfgd", "submitdate": "2011-01-29T07:54:02", "submituser": "J", "imagekey": "a", "viewurl": "/view?imagekey=a"}, ...]}
Wahrscheinlich gibt es eine einfache Möglichkeit, dies zu tun, aber ich habe Probleme bei der Suche viel auf simplejson andere als Müllkippen und laden.
InformationsquelleAutor Jesse Jashinsky | 2011-02-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist das, was Sie sind versuchen zu tun?
Könnten Sie auch einen object_hook. Dies funktioniert für dein Beispiel, aber vielleicht möchten Sie zwicken Sie ein wenig, je nach Ihren tatsächlichen Daten:
Der Grund, ich erwähne die Möglichkeit eines brauchen, um es zu optimieren, da es in seiner aktuellen form, die
addImageKey
object_hook die viewurl Schlüssel/Wert zu jedem Objekt in Ihrer JSON-Struktur, die enthält eineimagekey
Schlüssel bereits. So können Sie verwenden, etwas genauer auf die Elemente inimages
wenn es sein muss.Oh, und wenn Sie möchten, codieren Sie es wieder um einen JSON-string, können Sie einfach ändern Sie die Letzte Zeile zu
Je nach der Menge der Daten, die Sie sind-decoding/encoding, würde ich vorschlagen, die Möglichkeit der Verwendung von cjson zu re-Kodieren der Daten. Es ist Blitz-schnell im Vergleich zu simplejson/json. Leider keine Unterstützung für Dinge wie object_hook.
Der docs-Seite ist ziemlich viel es... simplejson.googlecode.com/svn/tags/simplejson-2.1.1/docs/...
InformationsquelleAutor sberry
Ich denke der einfachste Weg wäre, um es in python, Sie zu manipulieren, und dann werfen Sie es zurück in das JSON:
InformationsquelleAutor Ryan Ginstrom
Der einfachste Weg, die ich denken kann, ist die Verwendung simplejson de-serialze native python, ändern Sie die native python-und serialisieren, es wieder zu JSON.
InformationsquelleAutor Keith
Gut, haben Sie zwei Möglichkeiten. Entweder verwenden Sie reguläre Ausdrücke, die auf die Zeichenfolge oder die zum Parsen der JSON-in Python-Objekte, und erstellen Sie ein neues Attribut mit der
imageurl
Wert und erzeugen dann eine andere JSON-string.InformationsquelleAutor Tim McNamara