jak wdrożyć zagnieżdżony przedmiot w zadrapaniu?

Skrobię niektóre dane ze złożonymi informacjami hierarchicznymi i muszę wyeksportować wynik do json.

Zdefiniowałem elementy jako

class FamilyItem():
    name = Field()
    sons = Field()

class SonsItem():
    name = Field()
    grandsons = Field()

class GrandsonsItem():
    name = Field()
    age = Field()
    weight = Field()
    sex = Field()

a kiedy pająk się skończy, otrzymam wydrukowany wydruk

{'name': 'Jenny',
   'sons': [
            {'name': u'S1',
             'grandsons': [
                   {'name': u'GS1',
                    'age': 18,
                    'weight': 50
                   },
                   {
                    'name':u'GS2',
                    'age': 19,
                    'weight':51}]
                   }]
}

ale kiedy biegnęscrapy crawl myscaper -o a.json, zawsze mówi, że wynik „nie jest JSON serializable”. Następnie kopiuję i wklejam dane wyjściowe do konsoli ipython i używam json.dumps (), to działa poprawnie. Więc gdzie jest problem? to napędza moje orzechy ...

questionAnswers(2)

yourAnswerToTheQuestion