SORU
5 Temmuz 2011, Salı


Nasıl Python nesnesine JSON verileri dönüştürmek için

Python Python Nesnesine JSON verileri dönüştürmek için kullanmak istiyorum.

Benim Veritabanında saklamak istiyorum Facebook API, JSON veri nesneleri alıyorum.

Benim şimdiki Görünümü Django ( python ) ( requset.JSON içeren YAZI )->

response = request.POST
user = FbApiUser(user_id = response['id'])
user.name = response['name']
user.username = response['username']
user.save()

Bu iyi çalışıyor, ama ne kadar karmaşık Json veri nesneleri yapmalıyım?

Eğer bir şekilde kolay kullanım için bir python nesne içine bu JSON nesnesi dönüştürmek getirirseniz çok daha iyi olmaz mı?

CEVAP
5 Temmuz 2011, Salı


Onay bölüm "" json modülü docs (Python v2 http://docs.python.org/library/json.html. kod çözme JSON nesne Uzmanlaşmış etiketli 7.3 )- özel nesne çözme üzerine bir bölüm var. Özel Python bir tür içine bir JSON nesnesi kodunu çözmek için kullanabilirsiniz.

İşte size bir örnek:

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

import json
def object_decoder(obj):
    if '__type__' in obj and obj['__type__'] == 'User':
        return User(obj['name'], obj['username'])
    return obj

json.loads('{"__type__": "User", "name": "John Smith", "username": "jsmith"}', object_hook=object_decoder)

print type(User)
>>>> <class '__restricted__.User'>

Güncelleme

Eğer json ile bir sözlük veri erişmek istiyorsanız Bu modül yapın:

user = json.loads('{"__type__": "User", "name": "John Smith", "username": "jsmith"}')
print user['name']
print user['username']

Sadece sıradan bir sözlük.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • NewsyTech

    NewsyTech

    2 AĞUSTOS 2010
  • Tina Chen

    Tina Chen

    26 Mayıs 2012
  • TomSka

    TomSka

    30 Mayıs 2006