У меня есть требование, когда я хотел бы построить много объектов JSON. И есть много разных определений, и в идеале я хочу управлять ими, как классы, и строить объекты и сбрасывать их в JSON по требованию.Класс Python для JSON
Есть ли существующий пакет/рецепт, пусть это мне сделать следующий
Для поддержания его просто позволяет сказать, что мне нужно, чтобы представить людей, которые работают, учатся или оба:
[{
"Name": "Foo",
"JobInfo": {
"JobTitle": "Sr Manager",
"Salary": 4455
},
"Name": "Bar",
"CourseInfo": {
"CourseTitle": "Intro 101",
"Units": 3
}]
Я бы например, создавать объекты, которые могут выгружать действительный JSON, но создаются как обычные классы python.
Я хотел бы определить свои классы, как модель БД:
class Person:
Name = String()
JobInfo = Job()
CourseInfo = Course()
class Job:
JobTitle = String()
Salary = Integer()
class Course:
CourseTitle = String()
Units = Integer()
persons = [Person("Foo", Job("Sr Manager", 4455)), Person("Bar", Course("Intro 101", 3))]
person_list = list(persons)
print person_list.to_json() # this should print the JSON example from above
EDIT
я написал свою собственную мини-рамку для достижения этой. Ее доступны через пип
pip install pymodjson
код и примеры доступны здесь: (MIT) https://github.com/saravanareddy/pymodjson
[Смотрите здесь] (http://stackoverflow.com/questions/3768895/how-to-make-a-class-json-serializable). Для части валидации вам нужно написать собственный 'JSONEncoder'. – Sevanteri