[FIXED] Wie konvertiere ich JSON-Daten in ein Python-Objekt?

Ausgabe

Ich möchte JSON-Daten in ein Python-Objekt konvertieren.

Ich erhalte JSON-Datenobjekte von der Facebook-API, die ich in meiner Datenbank speichern möchte.

Meine aktuelle Ansicht in Django (Python) ( request.POSTenthält JSON):

response = request.POST
user = FbApiUser(user_id = response['id'])
user.name = response['name']
user.username = response['username']
user.save()
  • Das funktioniert gut, aber wie gehe ich mit komplexen JSON-Datenobjekten um?
  • Wäre es nicht viel besser, wenn ich dieses JSON-Objekt zur einfachen Verwendung irgendwie in ein Python-Objekt konvertieren könnte?

Lösung

Sie könnten dies versuchen:

class User(object):
    def __init__(self, name, username):
        self.name = name
        self.username = username

import json
j = json.loads(your_json)
u = User(**j)

Erstellen Sie einfach ein neues Objekt und übergeben Sie die Parameter als Map.


Sie können auch ein JSON mit Objekten haben:

import json
class Address(object):
    def __init__(self, street, number):
        self.street = street
        self.number = number

    def __str__(self):
        return "{0} {1}".format(self.street, self.number)

class User(object):
    def __init__(self, name, address):
        self.name = name
        self.address = Address(**address)

    def __str__(self):
        return "{0} ,{1}".format(self.name, self.address)

if __name__ == '__main__':
    js = '''{"name":"Cristian", "address":{"street":"Sesame","number":122}}'''
    j = json.loads(js)
    print(j)
    u = User(**j)
    print(u)


Beantwortet von –
cmaluenda


Antwort geprüft von –
David Marino (FixError Volunteer)

0 Shares:
Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like