1
class Person:
first_name = superjson.Property()
last_name = superjson.Property()
posts = superjson.Collection(Post)
class Post:
title = superjson.Property()
description = superjson.Property()
# ^^^ this approach is very similar to Django models/forms
{
"first_name": "John",
"last_name": "Smith",
"posts": [
{"title": "title #1", "description": "description #1"},
{"title": "title #2", "description": "description #2"},
{"title": "title #3", "description": "description #3"}
]
}
我想它來建立的一切適當Person
對象裏面設置:
p = superjson.deserialize(json, Person) # note, root type is explicitly provided
print p.first_name # 'John'
print p.last_name # 'Smith'
print p.posts[0].title # 'title #1'
# etc...
- 當然它也應該有助於序列化
- 它應該序列化/默認情況下將時間從ISO-8601中反序列化,或者在幾行代碼中很容易實現。
所以,我正在尋找這superjson
。有沒有人看到類似的東西?
'deserialized'似乎字典,所以我要'反序列化[ 「如first_name」] '而不是'deserialized.first_name',這不完全是我所期待的。看起來像驗證器比映射器更重要。 – agibalov
是的,抱歉;漏勺僅對簡單類型進行驗證和反序列化。更新以添加缺失的部分:limone。 –
使用limone是否「安全」? 它已經很久沒有更新,並保持在「alpha」版本。 –